大发pk10最新网址 _【一】、什么是数据结构

  • 时间:
  • 浏览:1
  • 来源:星宇星空 - 专注共享玖念博客资源

前言

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

对数据形状的理解

首先从定义上来说语句,好像对数据形状如此那此有3个统一的、标准的答案,我找了好几本书,挑了有3个我认为还计较好理解的定义:

数据形状是计算机中存储、组织数据的土辦法 。通常情況下,精心选泽的数据形状不能 带来最优速率的算法。

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

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

也有些我说,现在有有些书架,还有一堆图书,我想怎么才能 才能 把它们插进书架上去呢?换言之说,有一堆数据,给了你有些存储空间,我想为什么会么会么把那此数据存起来呢?

我觉得 有些问题问的不科学,可能你不知道所谓的书架是长那此样,可能是下面图片中的任意一种。

 

 

有些你就知道了,当村里人 不知道有3个数据为什么会么会么组织的事先 ,我觉得 是跟有些数据的规模有关系的。不一样规模的问题,它补救起来的难度就不一样。难在那此地方呢?难没哟说我想把它为什么会么会么放,而在于放有些书是为了做事情用的,有些说图书的摆放我觉得 跟有3个操作直接相关:

操作一:新书为什么会么会么插入

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

土辦法 一:不知道大伙儿儿是怎么才能 才能 考虑的,我第有3个感觉有些我随便放,随便放有3个好处有些我:新书为什么会么会么插入,有些操作是非常简单的,哪有空就放哪,最简单的土辦法 有些我把所有的书一本一本挨着放,有些呢,所有的新书哪里有空放哪里,So easy!放起来简单,但第3个操作为什么会么会么办,怎么才能 才能 查找?那就会成为一件很恐怖的事……累死你!那此事先 累死呢,我觉得 可能有些我有3个很小的书架,倒也累不死,但可能是上面第三张那样的书城,否则你想象,上面所有的图书都在随便放的,否则村里人 不知道,有些书城里有如此某一本书,我觉得 那本书如此,但有你忘了有如此,那你为什么会么会么能选泽它到底有如此呢?你就只好从头到尾把每一本书都过一遍,否则不能叹一口气说……唉,不好意思,如此这本书。

土辦法 二:原先们有如此稍微聪明有些的补救土辦法 呢?有些我怎么才能 才能 我想找书找的方便呢?第3个土辦法 ,有些我按照书名的拼音字母顺序排放,有了有些字母序事先 ,查找就方便多了。有3个最聪明的土辦法 是二分查找那此是二分查找:比如说现在有一长排的书插进你眼前 ,否则大伙儿儿找一本叫《数据形状》的以S开头的书,原先先从有些排的上面找一本书出来看它的书名的首字母,假使 说是《离散数学》,以L开头的书,原先们知道,S在L的上面,有些《离散数学》前面的书让他不用管它了,我的查找范围缩小了一半,从L过后开始英文往后找,否则再找有些半的上面,比如找到的一本书是《网络爬虫》,以W开头的,那S在L和W上面,《网络爬虫》上面的书让他不用管了,于是我的查找范围又缩小了一半,以此类推,我想每次都找,否则跟上面有些比,太快就会把范围缩小到一本书上,让他会知道这本书到底是有还是如此。有些土辦法 比前面的土辦法 聪明多了,它很好的补救了查找的问题。否则,问题又来了,新书来了为什么会么会么插入呢?它就会成为新的令人头疼的问题。比如说,我新买了一本书叫《阿Q正传》,是以A开头的,呃……惨了,原先们得把几乎所有的书往后一本一本的错位,老是到前面留出有3个空挡,把新书插进去,有些似乎也很头疼。

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

那现在问题又来了:

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

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

大伙儿儿分的各种类别的书,它的藏书量是不一样的,你是统一都给它分……还是每一类都十几个 个书架,事先 分好吗?这也是有3个很头疼的问题,我太快,你可能书架给多了,就会有有些空间始终空在那浪费着,你可能书架给小了,新书来的事先 要不断地加新柜子,很讨厌。还有分类别要分多细的问题,我想是分的比较粗,如此同一类上面的书就会有有些,那你的工作量还是会很大,有些我想减少工作量,最好还是类别分的细有些,否则类别一分细,就会有副作用,类别不多了,图书的量一多,也是麻烦。

说那此问题是想说明:

补救问题土辦法 的速率,跟数据的组织土辦法 是直接相关的

原先这介绍数据形状的组织土辦法 的事先 ,我觉得 有有3个概念:

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

比如说,大伙儿儿一过后开始英文把书架想象成简单的一长条,如此一层的架子,否则所有的书是有3个有3个挨着放的,除了一头一尾的书以外,每一本书的前面和上面都上可以 一本书,可能每一本书都在有3个编号语句,如此这有3个编号对应的有些我一本书,如此有些形状是一对一的形状,大伙儿儿管它叫线性形状。

另外一种组织土辦法 是上面说的第一种土辦法 ,有些我先把图书分类,可能我给每有3个类有3个编号语句,如此这有3个类别的编号上面对应着有些本书,如此这是有3个一对多的逻辑形状,有些形状有个名字叫做树。

再说图书馆,假设大伙儿儿还统计原先有些信息:有些本书都在那被委托人买过,买了这本书的人还买过其它的那此书,于是呢,我觉得 是一本书对应着有些人,而有一被委托人又对应了有些本书,这是有有3个对多的、很繁杂的有3个关系网,如此有些关系网对应的逻辑形状叫叫做图

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

除了逻辑形状之外,大伙儿儿还有数据对象再计算机上面的物理存储形状,也有些我大伙儿儿说的那此逻辑形状在机器的内存里到底要为什么会么会么放,是连续放呢还是东有3个西有3个隔开放呢?也有些我说用有3个数组来存它呢,还是用有3个链表来存它呢?有些就属于物理存储形状。

此篇完

以上那此有些我我对数据形状的理解,我想应该说全面了吧,有些我没全面有些我要紧,上面学了再继续补充。

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

 【原创声明】:被委托人原创:https://www.cnblogs.com/zyx110/