秒速pk10ipad _【一】、什么是数据结构

  • 时间:
  • 浏览:3
  • 来源:董小明博客 - 专注共享易享之家技术

前言

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

对数据形态的理解

首先从定义上来说语录,好像对数据形态都都可以不能 那些另有有好几块 统一的、标准的答案,我找了好几本书,挑了另有有好几块 我认为还计较好理解的定义:

数据形态是计算机中存储、组织数据的依据。通常状态下,精心确定的数据形态都都可以 带来最优效率的算法。

肯能你没接触过数据形态,你看得人定义能看懂吗?肯能你能看懂,我很佩服你,我反正是不行,不过现在肯能接触的东西比较多,听得多了,看得人才能理解。我嘴笨 对于新手,应该先让新手去理解,等有了我本人 的理解前一天再看官方定义语录,效果会比较好,反正我是都都可以不能 认为的。我用生活中的例子来解释那些是数据形态吧:

举例:怎样才能在书架上摆放图书?

也本来说,现在有或多或少书架,还有一堆图书,我你都都可以 怎样才能把它们里装去书架上去呢?换言之说,有一堆数据,给了你或多或少存储空间,我你都都可以 为社 在么在把那些数据存起来呢?

嘴笨 这些 那些的大问题问的不科学,肯能你谁能谁能告诉我所谓的书架是长那些样,肯能是下面图片中的任意有一种。

 

 

统统你就知道了,当一群人谁能告诉我另有有好几块 数据为社 在么在组织的前一天,嘴笨 是跟这些 数据的规模有关系的。不一样规模的那些的大问题,它防止起来的难度就不一样。难在那些地方呢?难什么都那末说我你都都可以 把它为社 在么在放,而在于放这些 书是为了做事情用的,统统说图书的摆放嘴笨 跟另有有好几块 操作直接相关:

操作一:新书为社 在么在插入

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

依据一:谁能谁能告诉我我们 我们 是怎样才能考虑的,我第另有有好几块 感觉本来随便放,随便放另有有好几块 好处本来:新书为社 在么在插入,这些 操作是非常简单的,哪有空就放哪,最简单的依据本来把所有的书一本一本挨着放,统统呢,所有的新书哪里有空放哪里,So easy!放起来简单,但第八个操作为社 在么在办,怎样才能查找?那就会成为一件很恐怖的事……累死你!那些前一天累死呢,嘴笨 肯能本来另有有好几块 很小的书架,倒也累不死,但肯能是里面第三张那样的书城,为社 我能 想象,里面所有的图书都不 随便放的,以后 一群人谁能告诉我,这些 书城里有都都可以不能 某一本书,嘴笨 那本书都都可以不能 ,但遇见你忘了有都都可以不能 ,那你为社 在么在能确定它到底有都都可以不能 呢?你就只好从头到尾把每一本书都过一遍,以后 才能叹一口气说……唉,不好意思,都都可以不能 这本书。

依据二:那我们 我们 有都都可以不能 稍微聪明或多或少的防止依据呢?本来怎样才能我你都都可以 找书找的方便呢?第八个依据,本来按照书名的拼音字母顺序排放,有了这些 字母序前一天,查找就方便多了。另有有好几块 最聪明的依据是二分查找那些是二分查找:比如说现在有一长排的书里装去你头上,为社 我能 们我们 找一本叫《数据形态》的以S开头的书,另另有有好几块 先从这些 排的里面找一本书出来看它的书名的首字母,倘若说是《离散数学》,以L开头的书,那我们 我们 知道,S在L的里面,统统《离散数学》前面的书我能 不多管它了,我的查找范围缩小了一半,从L刚结束往后找,以后 再找这些 半的里面,比如找到的一本书是《网络爬虫》,以W开头的,那S在L和W里面,《网络爬虫》里面的书我能 不多管了,于是我的查找范围又缩小了一半,以此类推,我你都都可以 每次都找,以后 跟里面这些 比,比较慢就会把范围缩小到一本书上,我能 会知道这本书到底是有还是都都可以不能 。这些 依据比前面的依据聪明多了,它很好的防止了查找的那些的大问题。以后 ,那些的大问题又来了,新书来了为社 在么在插入呢?它就会成为新的令人头疼的那些的大问题。比如说,我新买了一本书叫《阿Q正传》,是以A开头的,呃……惨了,那我们 我们 得把几乎所有的书往后一本一本的错位,一直到前面留出另有有好几块 空挡,把新书里装去去,这些 似乎也很头疼。

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

那现在那些的大问题又来了:

那些的大问题一:空间怎样才能分配?

那些的大问题二:类别应该分多细?

我们 我们 分的各种类别的书,它的藏书量是不一样的,你是统一都给它分……还是每一类都十几块 个书架,前一天分好吗?这也是另有有好几块 很头疼的那些的大问题,我没能了,你肯能书架给多了,就会有或多或少空间始终空在那浪费着,你肯能书架给小了,新书来的前一天要不断地加新柜子,很讨厌。还有分类别要分多细的那些的大问题,我你都都可以 是分的比较粗,都都可以不能 同一类里面的书就会有统统,那你的工作量还是会很大,本来想减少工作量,最好还是类别分的细或多或少,以后 类别一分细,就会有副作用,类别不多 了,图书的量一多,也是麻烦。

说那些那些的大问题是想说明:

防止那些的大问题依据的效率,跟数据的组织依据是直接相关的

另另有有好几块 这介绍数据形态的组织依据的前一天,嘴笨 有另有有好几块 概念:

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

比如说,我们 我们 一刚结束把书架想象成简单的一长条,都都可以不能 一层的架子,以后 所有的书是另有有好几块 另有有好几块 挨着放的,除了一头一尾的书以外,每一本书的前面和里面都都都可以不能 一本书,肯能每一本书都另有有好几块 编号语录,都都可以不能 这另有有好几块 编号对应的本来一本书,都都可以不能 这些 形态是一对一的形态,我们 我们 管它叫线性形态。

另外有一种组织依据是里面说的第有一种依据,本来先把图书分类,肯能我给每另有有好几块 类另有有好几块 编号语录,都都可以不能 这另有有好几块 类别的编号里面对应着统统本书,都都可以不能 这是另有有好几块 一对多的逻辑形态,这些 形态有个名字叫做树。

再说图书馆,假设我们 我们 还统计另另有有好几块 或多或少信息:这些 本书都不 那些人买过,买了这本书的人还买过其它的那些书,于是呢,嘴笨 是一本书对应着统统人,而另有4我本人 又对应了统统本书,这是另有有好几块 对多的、很错综复杂的另有有好几块 关系网,都都可以不能 这些 关系网对应的逻辑形态叫叫做图

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

除了逻辑形态之外,我们 我们 还有数据对象再计算机里面的物理存储形态,也本来我们 我们 说的那些逻辑形态在机器的内存里到底要为社 在么在放,是连续放呢还是东另有有好几块 西另有有好几块 隔开放呢?也本来说用另有有好几块 数组来存它呢,还是用另有有好几块 链表来存它呢?这些 就属于物理存储形态。

此篇完

以上那些本来我对数据形态的理解,我你都都可以 应该说全面了吧,本来没全面本来要紧,里面学了再继续补充。

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

 【原创声明】:我本人 原创:https://www.cnblogs.com/zyx110/