分分pk10教程 _【一】、什么是数据结构

  • 时间:
  • 浏览:0

前言

令人头疼的书啊,一切尽在不言中。

对数据底部形态的理解

首先从定义上来说搞笑的话,好像对数据底部形态没人哪此另一一一个统一的、标准的答案,我找了好几本书,挑了另一一一个我认为还计较好理解的定义:

数据底部形态是计算机中存储、组织数据的最好的办法。通常情况汇报下,精心确定的数据底部形态还能能带来最优传输速率的算法。

可能你没接触过数据底部形态,你看到定义能看懂吗?可能你能看懂,我很佩服你,我反正是不行,不过现在可能接触的东西比较多,听得多了,看到还能能理解。我着实对于新手,应该先让新手去理解,等有了某些人的理解前一天再看官方定义搞笑的话,效果会比较好,反正我是没人认为的。我用生活中的例子来解释哪此是数据底部形态吧:

举例:如可在书架上摆放图书?

也可是 说,现在有某些书架,还有一堆图书,我要如可把它们倒进书架上去呢?换言之说,有一堆数据,给了你某些存储空间,我要为什么把哪此数据存起来呢?

着实本身难题问的不科学,可能你真不知道所谓的书架是长哪此样,可能是下面图片中的任意本身。

 

 

可是你就知道了,当人们真不知道另一一一个数据为什么组织的前一天,着实是跟本身数据的规模有关系的。不一样规模的难题,它正确处理起来的难度就不一样。难在哪此地方呢?难沒有说我要把它为什么放,而在于放本身书是为了做事情用的,可是说图书的摆放着实跟另一一一个操作直接相关:

操作一:新书为什么插入

操作二:为什么找到某本指定的书

最好的办法一:真真不知道某些人 是如可考虑的,我第另一一一个感觉可是 随便放,随便放另一一一个好处可是 :新书为什么插入,本身操作是非常简单的,哪有空就放哪,最简单的最好的办法可是 把所有的书一本一本挨着放,可是呢,所有的新书哪里有空放哪里,So easy!放起来简单,但第一个操作为什么办,如可查找?那就会成为一件很恐怖的事……累死你!哪此前一天累死呢,着实可能可是 另一一一个很小的书架,倒也累不死,但可能是后边第三张那样的书城,为什么么你会想象,后边所有的图书总要随便放的,为什么么让人们真不知道,本身书城里有没人某一本书,着实那本书没人,但有你在身边忘了有没人,那你为什么能确定它到底有没人呢?你就只好从头到尾把每一本书都过一遍,为什么么让还能能叹一口气说……唉,不好意思,没人这本书。

最好的办法二:那某些人 有没人稍微聪明某些的正确处理最好的办法呢?可是 如可我要找书找的方便呢?第一个最好的办法,可是 按照书名的拼音字母顺序排放,有了本身字母序前一天,查找就方便多了。另一一一个最聪明的最好的办法是二分查找哪此是二分查找:比如说现在有一长排的书倒进你身前,为什么么让某些人 儿找一本叫《数据底部形态》的以S开头的书,那我先从本身排的后边找一本书出来看它的书名的首字母,你会说是《离散数学》,以L开头的书,那某些人 知道,S在L的后边,可是《离散数学》前面的书给你后会管它了,我的查找范围缩小了一半,从L前一天后后刚开始往后找,为什么么让再找本身半的后边,比如找到的一本书是《网络爬虫》,以W开头的,那S在L和W后边,《网络爬虫》后边的书给你后会管了,于是我的查找范围又缩小了一半,以此类推,我要每次都找,为什么么让跟后边本身比,加快传输速率就会把范围缩小到一本书上,给你会知道这本书到底是有还是没人。本身最好的办法比前面的最好的办法聪明多了,它很好的正确处理了查找的难题。为什么么让,难题又来了,新书来了为什么插入呢?它就会成为新的令人头疼的难题。比如说,我新买了一本书叫《阿Q正传》,是以A开头的,呃……惨了,那某些人 得把几乎所有的书往后一本一本的错位,老是到前面留出另一一一个空挡,把新书倒进去,本身似乎也很头疼。

最好的办法三:那如可找另一一一个两全其美的最好的办法呢?某些人 儿来想想,图书馆里是如可来摆书的,某些人 儿你会说去图书馆,找《数据底部形态》,要为什么找,你可能是从第一本前一天后后刚开始找,也可能是随便后边摸一本找,你进到图书馆里,第一件事情要找的是计算机类的书在哪里对不对?图书馆里的书通常是按照书的类别来分的,比如说某些人 儿有社会科学类、文学类、艺术类、理科、工科等,为什么么让工科下面可能总要分的再细某些,比如说某些人 儿计算机类可能就分在工科的下面,本身分法有哪此好处呢?把书架划分成哪有几个区域,每快区域指定摆放本身类别的图书,在每种类别内,按照书名的拼音字母顺序排放,那我不管我在每另一一一个类里做哪此样的操作,总归来说,图书的规模小了可是,跟整个图书馆的规模相比,我是某一类的,无论是查找还是插入,总要非常方便的。查找呢,可是 在二分查找前一天,某些人 儿先定另一一一个类别,为什么么让在另一一一个类的另一一一个小范围后边做二分查找,就还能能加快传输速率的找到某些人 儿要查找的书了。可能是插入,也是先定类别,用二分查找来确定一下它应该被插在哪此位置,为什么么让移空位这件事可能还是要做的,为什么么让总归比某些人 儿前一天前一天后后开始要移的书的数量少多了。

那现在难题又来了:

难题一:空间如可分配?

难题二:类别应该分多细?

某些人 儿分的各种类别的书,它的藏书量是不一样的,你是统一都给它分……还是每一类都哪有几个个书架,前一天分好吗?这也是另一一一个很头疼的难题,我真难了,你可能书架给多了,就会有某些空间始终空在那浪费着,你可能书架给小了,新书来的前一天要不断地加新柜子,很讨厌。还有分类别要分多细的难题,给你说 分的比较粗,没人同一类后边的书就会有可是,那你的工作量还是会很大,可是 想减少工作量,最好还是类别分的细某些,为什么么让类别一分细,就会有副作用,类别后会 了,图书的量一多,也是麻烦。

说哪此难题是想说明:

正确处理难题最好的办法的传输速率,跟数据的组织最好的办法是直接相关的

那我这介绍数据底部形态的组织最好的办法的前一天,着实有另一一一个概念:

一、关于数据对象的逻辑底部形态

比如说,某些人 儿一前一天后后刚开始把书架想象成简单的一长条,没人一层的架子,为什么么让所有的书是另一一一个另一一一个挨着放的,除了一头一尾的书以外,每一本书的前面和后边都还能能不能 一本书,可能每一本书总要另一一一个编号搞笑的话,没人这另一一一个编号对应的可是 一本书,没人本身底部形态是一对一的底部形态,某些人 儿管它叫线性底部形态。

另外本身组织最好的办法是后边说的第本身最好的办法,可是 先把图书分类,可能我给每另一一一个类另一一一个编号搞笑的话,没人这另一一一个类别的编号后边对应着可是本书,没人这是另一一一个一对多的逻辑底部形态,本身底部形态有个名字叫做树。

再说图书馆,假设某些人 儿还统计那我某些信息:本身本书总要哪某些人买过,买了这本书的人还买过其它的哪此书,于是呢,着实是一本书对应着可是人,而另1某些人又对应了可是本书,这是另另一一一个对多的、很比较复杂的另一一一个关系网,没人本身关系网对应的逻辑底部形态叫叫做图

二、关于对象的物理存储底部形态

除了逻辑底部形态之外,某些人 儿还有数据对象再计算机后边的物理存储底部形态,也可是 某些人 儿说的哪此逻辑底部形态在机器的内存里到底要为什么放,是连续放呢还是东另一一一个西另一一一个隔开放呢?也可是 说用另一一一个数组来存它呢,还是用另一一一个链表来存它呢?本身就属于物理存储底部形态。

此篇完

以上哪此可是 我对数据底部形态的理解,我要应该说全面了吧,可是 没全面可是 要紧,后边学了再继续补充。

看到有收获?没人希望老铁别吝啬你的三连击哦1、点个推荐,让更多的人看到这篇文章2、关注我的原创微信公众号【泰斗贤若如】,第一时间阅读我的文章3、欢迎关注我的博客

 【原创声明】:某些人原创:https://www.cnblogs.com/zyx110/