好运飞艇计划师_【一】、什么是数据结构

  • 时间:
  • 浏览:31

前言

人太好说实话,大一刚来的过后就学了数据行态,当时学的数据行态是下面图片中的你统统本,不过说来惭愧,当时可能性入门时C语言学的太菜,以至于开这门课的过后思维跟不上就抵触,不让解释,也不给我每各人找借口,坦白说吧,也不没好好学,不过人非圣贤,孰能无过,人生难免会犯点错,及时改正还是个好孩子,否则,我决定把过后这样学的数据行态重新补回来。

对数据行态的理解

首先从定义上来说的话,好像对数据行态这样什么六个多多统一的、标准的答案,我找了好几本书,挑了六个多多我认为还计较好理解的定义:

数据行态是计算机中存储、组织数据的最好的土办法。通常具体情况下,精心选取的数据行态可不需用带来最优速度的算法。

可能性你没接触过数据行态,你看一遍定义能看懂吗?可能性你能看懂,我很佩服你,我反正是不行,不过现在可能性接触的东西比较多,听得多了,看一遍能够理解。我人太好对于新手,应该先让新手去理解,等有了我每各人的理解过后再看官方定义的话,效果会比较好,反正我是这样认为的。我用生活中的例子来解释什么是数据行态吧:

举例:如可在书架上摆放图书?也却的话,现在有统统书架,还有一堆图书,我能 要 如可把它们放到书架上去呢?换言之说,有一堆数据,给了你统统存储空间,我能 要 为啥么把什么数据存起来呢?人太好你统统什么的什么的问题问的不科学,可能性你我没了乎 所谓的书架是长什么样,可能性是下面图片中的任意某种。







统统你就知道了,当另一各人我没了乎 六个多多数据为啥么组织的过后,人太好是跟你统统数据的规模有关系的。不一样规模的什么的什么的问题,它避免起来的难度就不一样。难在什么地方呢?难没了说我能 要 把它为啥么放,而在于放你统统书是为了做事情用的,统统说图书的摆放人太好跟六个多多操作直接相关:

操作一:新书为啥么插入

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

最好的土办法一:我没了乎 亲们是如可考虑的,我第六个多多感觉也不随便放,随便放六个多多好处也不:新书为啥么插入,你统统操作是非常简单的,哪有空就放哪,最简单的最好的土办法也不把所有的书一本一本挨着放,统统呢,所有的新书哪里有空放哪里,So easy!放起来简单,但第六个操作为啥么办,如可查找?那就会成为一件很恐怖的事……累死你!何时累死呢,人太好可能性也不六个多多很小的书架,倒也累不死,但可能性是底下第三张那样的书城,为啥我能 想象,底下所有的图书后会 随便放的,否则另一各人我没了乎 ,你统统书城里有这样某一本书,人太好那本书这样,但有你忘了有这样,那你为啥么能选取它到底有这样呢?你就只好从头到尾把每一本书都过一遍,否则能够叹一口气说……唉,不好意思,这样这本书。

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

最好的土办法三:那如可找六个多多两全其美的最好的土办法呢?亲们来想想,图书馆里是如可来摆书的,亲们假使 说去图书馆,找《数据行态》,要为啥么找,你可能性性是从第一本现在结束了找,也可能性性是随便底下摸一本找,你进到图书馆里,第一件事情要找的是计算机类的书在哪里对不对?图书馆里的书通常是按照书的类别来分的,比如说亲们有社会科学类、文学类、艺术类、理科、工科等,否则工科下面可能性后会 分的再细统统,比如说亲们计算机类可能性就分在工科的下面,你统统分法有什么好处呢?把书架划分成几条区域,每快区域指定摆放某种类别的图书,在部分类别内,按照书名的拼音字母顺序排放,过后不管我在每六个多多类里做什么样的操作,总归来说,图书的规模小了统统,跟整个图书馆的规模相比,我是某一类的,无论是查找还是插入,后会 非常方便的。查找呢,也没了二分查找过后,亲们先定六个多多类别,否则在六个多多类的六个多多小范围底下做二分查找,就可不需用越快的找到亲们要查找的书了。可能性是插入,也是先定类别,用二分查找来选取一下它应该被插在什么位置,否则移空位这件事可能性还是要做的,否则总归比亲们刚现在结束了要移的书的数量少多了。

那现在什么的什么的问题又来了:

什么的什么的问题一:空间如可分配?

什么的什么的问题二:类别应该分多细?

亲们分的各种类别的书,它的藏书量是不一样的,你是统一都给它分……还是每一类都几条个书架,过后分好吗?这也是六个多多很头疼的什么的什么的问题,我真难了,你可能性书架给多了,就会有统统空间始终空在那浪费着,你可能性书架给小了,新书来的过后要不断地加新柜子,很讨厌。还有分类别要分多细的什么的什么的问题,我能 要 是分的比较粗,这样同一类底下的书就会有统统,那你的工作量还是会很大,也过后 减少工作量,最好还是类别分的细统统,否则类别一分细,就会有副作用,类别太满了,图书的量一多,也是麻烦。

说什么什么的什么的问题是想说明:

避免什么的什么的问题最好的土办法的速度,跟数据的组织最好的土办法是直接相关的

过后这介绍数据行态的组织最好的土办法的过后,人太好六个多多概念:

、关于数据对象的逻辑行态比如说,亲们一现在结束了把书架想象成简单的一长条,这样一层的架子,否则所有的书是六个多多六个多多挨着放的,除了一头一尾的书以外,每一本书的前面和底下都这样一本书,可能性每一本书都六个多多多编号的话,这样统统个多多编号对应的也不一本书,这样你统统行态是一对一的行态,亲们管它叫线性行态

另外某种组织最好的土办法是底下说的第某种最好的土办法,也不先把图书分类,可能性我给每六个多多类六个多多编号的话,这样统统个多多类别的编号底下对应着统统本书,这样这是六个多多一对多的逻辑行态,你统统行态有个名字叫做

再说图书馆,假设亲们还统计过后统统信息:你统统本书后会 什么人买过,买了这本书的人还买过其它的什么书,于是呢,人太好是一本书对应着统统人,而六个多多人又对应了统统本书,这是六个多多多对多的、很错综复杂的六个多多关系网,这样你统统关系网对应的逻辑行态叫叫做

、关于对象的物理存储行态除了逻辑行态之外,亲们还有数据对象再计算机底下的物理存储行态,也也不亲们说的什么逻辑行态在机器的内存里到底要为啥么放,是连续放呢还是东六个多多西六个多多隔开放呢?也却的话用六个多多数组来存它呢,还是用六个多多链表来存它呢?你统统就属于物理存储行态。

此篇完

以上什么也不我对数据行态的理解,我能 要 应该说全面了吧,也不没全面也不让紧,底下学了再继续补充。

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

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