快3计划客户端_【一】、什么是数据结构

  • 时间:
  • 浏览:2
  • 来源:小文博客 - 专注共享古韵博客技术

前言

确实说实话,大一刚来的刚刚就学了数据内外部,当时学的数据内外部是下面图片中的这俩 本,不过说来惭愧,当时机会入门时C语言学的太菜,以至于开这门课的刚刚思维跟不上就抵触,不用解释,过多 给买车人找借口,坦白说吧,过多 没好好学,不过人非圣贤,孰能无过,人生难免会犯点错,及时改正还是个好孩子,或者,我决定把刚刚没应学的数据内外部重新补回来。

对数据内外部的理解

首先从定义上来说话语,好像对数据内外部没哪些有1个 统一的、标准的答案,我找了好几本书,挑了有1个 我认为还计较好理解的定义:

数据内外部是计算机中存储、组织数据的办法。通常具体情况下,精心挑选的数据内外部可不用能 带来最优效率的算法。

机会你没接触过数据内外部,你看了定义能看懂吗?机会你能看懂,我很佩服你,我反正是不行,不过现在机会接触的东西比较多,听得多了,看了要能理解。我确实对于新手,应该先让新手去理解,等有了买车人的理解刚刚再看官方定义话语,效果会比较好,反正我是必须认为的。我用生活中的例子来解释哪些是数据内外部吧:

举例:咋样在书架上摆放图书?也过多 说,现在有一些书架,还有一堆图书,我想咋样把它们放满书架上去呢?换言之说,有一堆数据,给了你一些存储空间,我想为什么把哪些数据存起来呢?确实这俩 什么的什么的问题问的不科学,机会你真不知道所谓的书架是长哪些样,机会是下面图片中的任意三种。







过多你就知道了,当另一个人真不知道有1个 数据为什么组织的刚刚,确实是跟这俩 数据的规模有关系的。不一样规模的什么的什么的问题,它处理起来的难度就不一样。难在哪些呢?难没了说我想把它为什么放,而在于放这俩 书是为了做事情用的,过多说图书的摆放确实跟有1个 操作直接相关:

操作一:新书为什么插入

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

办法一:真真不知道朋友是咋样考虑的,我第有1个 感觉过多 随便放,随便放有1个 好处过多 :新书为什么插入,这俩 操作是非常简单的,哪有空就放哪,最简单的办法过多 把所有的书一本一本挨着放,过多呢,所有的新书哪里有空放哪里,So easy!放起来简单,但第3个操作为什么办,咋样查找?那就会成为一件很恐怖的事……累死你!哪些刚刚累死呢,确实机会过多 有1个 很小的书架,倒也累不死,但机会是后面 第三张那样的书城,或者你想象,后面 所有的图书一定会 随便放的,或者另一个人真不知道,这俩 书城里有必须某一本书,确实那本书必须,但必须你忘了有必须,那你为什么能挑选它到底有必须呢?你就只好从头到尾把每一本书都过一遍,或者要能叹一口气说……唉,不好意思,必须这本书。

办法二:曾经们有必须稍微聪明一些的处理办法呢?过多 咋样我想找书找的方便呢?第3个办法,过多 按照书名的拼音字母顺序排放,有了这俩 字母序刚刚,查找就方便多了。有1个 最聪明的办法是二分查找哪些是二分查找:比如说现在有一长排的书放满你手中,或者朋友找一本叫《数据内外部》的以S开头的书,曾经先从这俩 排的后面 找一本书出来看它的书名的首字母,只要说是《离散数学》,以L开头的书,曾经们知道,S在L的后面 ,过多《离散数学》前面的书我应该 不用管它了,我的查找范围缩小了一半,从L开始了了往后找,或者再找这俩 半的后面 ,比如找到的一本书是《网络爬虫》,以W开头的,那S在L和W后面 ,《网络爬虫》后面 的书我应该 不用管了,于是我的查找范围又缩小了一半,以此类推,我想每次都找,或者跟后面 这俩 比,快一点 就会把范围缩小到一本书上,我应该 会知道这本书到底是有还是必须。这俩 办法比前面的办法聪明多了,它很好的处理了查找的什么的什么的问题。或者,什么的什么的问题又来了,新书来了为什么插入呢?它就会成为新的令人头疼的什么的什么的问题。比如说,我新买了一本书叫《阿Q正传》,是以A开头的,呃……惨了,曾经们得把几乎所有的书往后一本一本的错位,老要到前面留出有1个 空挡,把新书放满去,这俩 似乎也很头疼。

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

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

什么的什么的问题一:空间咋样分配?

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

朋友分的各种类别的书,它的藏书量是不一样的,你是统一都给它分……还是每一类都几次个书架,刚刚分好吗?这也是有1个 很头疼的什么的什么的问题,我没能了,你机会书架给多了,就会有一些空间始终空在那浪费着,你机会书架给小了,新书来的之要能 不断地加新柜子,很讨厌。还有分类别要分多细的什么的什么的问题,我想是分的比较粗,必须同一类后面 的书就会有过多,那你的工作量还是会很大,过多 想减少工作量,最好还是类别分的细一些,或者类别一分细,就会有副作用,类别过多了,图书的量一多,也是麻烦。

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

处理什么的什么的问题办法的效率,跟数据的组织办法是直接相关的

曾经这介绍数据内外部的组织办法的刚刚,确实有有1个 概念:

、关于数据对象的逻辑内外部比如说,朋友一开始了了把书架想象成简单的一长条,必须一层的架子,或者所有的书是有1个 有1个 挨着放的,除了一头一尾的书以外,每一本书的前面和后面 都必须一本书,机会每一本书有的是1个 多编号话语,必须这有1个 编号对应的过多 一本书,必须这俩 内外部是一对一的内外部,朋友管它叫线性内外部

另外三种组织办法是后面 说的第三种办法,过多 先把图书分类,机会我给每有1个 类有1个 编号话语,必须这有1个 类别的编号后面 对应着过多本书,必须这是有1个 一对多的逻辑内外部,这俩 内外部有个名字叫做

再说图书馆,假设朋友还统计曾经一些信息:这俩 本书一定会 哪些人买过,买了这本书的人还买过其它的哪些书,于是呢,确实是一本书对应着过多人,而有1个 人又对应了过多本书,这是有1个 多对多的、很比较复杂的有1个 关系网,必须这俩 关系网对应的逻辑内外部叫叫做

、关于对象的物理存储内外部除了逻辑内外部之外,朋友还有数据对象再计算机后面 的物理存储内外部,也过多 朋友说的哪些逻辑内外部在机器的内存里到底要为什么放,是连续放呢还是东有1个 西有1个 隔开放呢?也过多 说用有1个 数组来存它呢,还是用有1个 链表来存它呢?这俩 就属于物理存储内外部。

此篇完

以上哪些过多 我对数据内外部的理解,我想应该说全面了吧,过多 没全面过多 要紧,后面 学了再继续补充。

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

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