好运快3新用户注册_【一】、什么是数据结构

  • 时间:
  • 浏览:0

前言

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

对数据形态学 的理解

首先从定义上来说得话,好像对数据形态学 没人那先 俩个 统一的、标准的答案,我找了好几本书,挑了俩个 我认为还计较好理解的定义:

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

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

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

也就说 说,现在有这名 书架,还有一堆图书,我你可以怎么才能 才能 把它们倒入书架上去呢?换言之说,有一堆数据,给了你这名 存储空间,我你可以为什么我么我办 把那先 数据存起来呢?

我我我觉得这名 难题问的不科学,可能性你他不知道所谓的书架是长那先 样,可能性是下面图片中的任意一种生活。

 

 

就说 你就知道了,当没人人他不知道俩个 数据为什么我么我办 组织的原先,我我我觉得是跟这名 数据的规模有关系的。不一样规模的难题,它处理起来的难度就不一样。难在那先 地方呢?难没人了说我你可以把它为什么我么我办 放,而在于放这名 书是为了做事情用的,就说 说图书的摆放我我我觉得跟俩个 操作直接相关:

操作一:新书为什么我么我办 插入

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

依据一:他他不知道朋友是怎么才能 才能 考虑的,我第俩个 感觉就说 随便放,随便放俩个 好处就说 :新书为什么我么我办 插入,这名 操作是非常简单的,哪有空就放哪,最简单的依据就说 把所有的书一本一本挨着放,就说 呢,所有的新书哪里有空放哪里,So easy!放起来简单,但第俩个操作为什么我么我办 办,怎么才能 才能 查找?那就会成为一件很恐怖的事……累死你!那先 原先累死呢,我我我觉得可能性就说 俩个 很小的书架,倒也累不死,但可能性是上方第三张那样的书城,因此你想象,上方所有的图书不是 随便放的,因此没人人他不知道,这名 书城里有没人某一本书,我我我觉得那本书没人,但没人你忘了有没人,那你为什么我么我办 能挑选它到底有没人呢?你就只好从头到尾把每一本书都过一遍,因此可以叹一口气说……唉,不好意思,没人这本书。

依据二:原先们有没人稍微聪明这名 的处理依据呢?就说 怎么才能 才能 我你可以找书找的方便呢?第俩个依据,就说 按照书名的拼音字母顺序排放,有了这名 字母序原先,查找就方便多了。俩个 最聪明的依据是二分查找那先 是二分查找:比如说现在有一长排的书倒入你身旁,因此朋友找一本叫《数据形态学 》的以S开头的书,原先先从这名 排的上方找一本书出来看它的书名的首字母,就说 说是《离散数学》,以L开头的书,原先们知道,S在L的上方,就说 《离散数学》前面的书让越多管它了,我的查找范围缩小了一半,从L过后结束往后找,因此再找这名 半的上方,比如找到的一本书是《网络爬虫》,以W开头的,那S在L和W上方,《网络爬虫》上方的书让越多管了,于是我的查找范围又缩小了一半,以此类推,我你可以每次都找,因此跟上方这名 比,调快就会把范围缩小到一本书上,让我会知道这本书到底是有还是没人。这名 依据比前面的依据聪明多了,它很好的处理了查找的难题。因此,难题又来了,新书来了为什么我么我办 插入呢?它就会成为新的令人头疼的难题。比如说,我新买了一本书叫《阿Q正传》,是以A开头的,呃……惨了,原先们得把几乎所有的书往后一本一本的错位,时不时到前面留出俩个 空挡,把新书倒入去,这名 似乎也很头疼。

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

那现在难题又来了:

难题一:空间怎么才能 才能 分配?

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

朋友分的各种类别的书,它的藏书量是不一样的,你是统一都给它分……还是每一类都有十几个 个书架,原先分好吗?这也是俩个 很头疼的难题,我真难了,你可能性书架给多了,就会有这名 空间始终空在那浪费着,你可能性书架给小了,新书来的原真难不断地加新柜子,很讨厌。还有分类别要分多细的难题,我你可以是分的比较粗,没人同一类上方的书就会有就说 ,那你的工作量还是会很大,就说 想减少工作量,最好还是类别分的细这名 ,因此类别一分细,就会有副作用,类别越多了,图书的量一多,也是麻烦。

说那先 难题是想说明:

处理难题依据的效率,跟数据的组织依据是直接相关的

原先这介绍数据形态学 的组织依据的原先,我我我觉得有俩个 概念:

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

比如说,朋友一过后结束把书架想象成简单的一长条,没人一层的架子,因此所有的书是俩个 俩个 挨着放的,除了一头一尾的书以外,每一本书的前面和上方都只能一本书,可能性每一本书不是 俩个 编号得话,没人这名 个 编号对应的就说 一本书,没人这名 形态学 是一对一的形态学 ,朋友管它叫线性形态学 。

另外一种生活组织依据是上方说的第一种生活依据,就说 先把图书分类,可能性我给每俩个 类俩个 编号得话,没人这名 个 类别的编号上方对应着就说 本书,没人这是俩个 一对多的逻辑形态学 ,这名 形态学 有个名字叫做树。

再说图书馆,假设朋友还统计原先这名 信息:这名 本书不是 那先 人买过,买了这本书的人还买过其它的那先 书,于是呢,我我我觉得是一本书对应着就说 人,而俩个 人又对应了就说 本书,这是俩个 多对多的、就说 样化的俩个 关系网,没人这名 关系网对应的逻辑形态学 叫叫做图

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

除了逻辑形态学 之外,朋友还有数据对象再计算机上方的物理存储形态学 ,也就说 朋友说的那先 逻辑形态学 在机器的内存里到底要为什么我么我办 放,是连续放呢还是东俩个 西俩个 隔开放呢?也就说 说用俩个 数组来存它呢,还是用俩个 链表来存它呢?这名 就属于物理存储形态学 。

此篇完

以上那先 就说 我对数据形态学 的理解,我要你可以说全面了吧,就说 没全面就说 要紧,上方学了再继续补充。

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

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