腾讯1分彩全天计划_【一】、什么是数据结构

  • 时间:
  • 浏览:3

前言

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

对数据形状的理解

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

数据形状是计算机中存储、组织数据的办法。通常具体情况下,精心挑选的数据形状能不都可不里能 带来最优时延的算法。

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

举例:咋样在书架上摆放图书?

也本来说,现在有而且 书架,还有一堆图书,我能 要咋样把它们放进 书架上去呢?换言之说,有一堆数据,给了你而且 存储空间,我能 要咋样把几个数据存起来呢?

虽然而且 问题问的不科学,机会你我都那么 乎 所谓的书架是长几个样,机会是下面图片中的任意并需用。

 

 

什么都有你就知道了,当村里人 我都那么 乎 有兩个数据咋样组织的那我,虽然是跟而且 数据的规模有关系的。不一样规模的问题,它正确处理起来的难度就不一样。难在几个地方呢?难都那么 说我能 要把它咋样放,而在于放而且 书是为了做事情用的,什么都有说图书的摆放虽然跟有兩个操作直接相关:

操作一:新书咋样插入

操作二:咋样找到某本指定的书

办法一:我都那么 乎 当我们都歌词 都 是咋样考虑的,我第有兩个感觉本来随便放,随便放有兩个好处本来:新书咋样插入,而且 操作是非常简单的,哪有空就放哪,最简单的办法本来把所有的书一本一本挨着放,什么都有呢,所有的新书哪里有空放哪里,So easy!放起来简单,但第3个操作咋样办,咋样查找?那就会成为一件很恐怖的事……累死你!几个那我累死呢,虽然机会本来有兩个很小的书架,倒也累不死,但机会是上端第三张那样的书城,而且 你想象,上端所有的图书需用随便放的,而且 村里人 我都那么 乎 ,而且 书城里有那么 某一本书,虽然那本书那么 ,但遇见你忘了有那么 ,那你咋样能挑选它到底有那么 呢?你就只好从头到尾把每一本书都过一遍,而且 要能叹一口气说……唉,不好意思,那么 这本书。

办法二:那当我们都歌词 都 有那么 稍微聪明而且 的正确处理办法呢?本来咋样我能 要找书找的方便呢?第3个办法,本来按照书名的拼音字母顺序排放,有了而且 字母序那我,查找就方便多了。有兩个最聪明的办法是二分查找几个是二分查找:比如说现在有一长排的书放进 你面前,而且 当我们都歌词 都 找一本叫《数据形状》的以S开头的书,那我先从而且 排的上端找一本书出来看它的书名的首字母,假如有一天说是《离散数学》,以L开头的书,那当我们都歌词 都 知道,S在L的上端,什么都有《离散数学》前面的书我能 不要 再管它了,我的查找范围缩小了一半,从L随后随后刚开始 往后找,而且 再找而且 半的上端,比如找到的一本书是《网络爬虫》,以W开头的,那S在L和W上端,《网络爬虫》上端的书我能 不要 再管了,于是我的查找范围又缩小了一半,以此类推,我能 要每次都找,而且 跟上端而且 比,调快就会把范围缩小到一本书上,我能 会知道这本书到底是有还是那么 。而且 办法比前面的办法聪明多了,它很好的正确处理了查找的问题。而且 ,问题又来了,新书来了咋样插入呢?它就会成为新的令人头疼的问题。比如说,我新买了一本书叫《阿Q正传》,是以A开头的,呃……惨了,那当我们都歌词 都 得把几乎所有的书往后一本一本的错位,老要到前面留出有兩个空挡,把新书放进 ,而且 似乎也很头疼。

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

那现在问题又来了:

问题一:空间咋样分配?

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

当我们都歌词 都 分的各种类别的书,它的藏书量是不一样的,你是统一都给它分……还是每一类都几个个书架,那我分好吗?这也是有兩个很头疼的问题,我太难了,你机会书架给多了,就会有而且 空间始终空在那浪费着,你机会书架给小了,新书来的那我要不断地加新柜子,很讨厌。还有分类别要分多细的问题,我能 本来分的比较粗,那么 同一类上端的书就会有什么都有,那你的工作量还是会很大,本来想减少工作量,最好还是类别分的细而且 ,而且 类别一分细,就会有副作用,类别不要 了,图书的量一多,也是麻烦。

说几个问题是想说明:

正确处理问题办法的时延,跟数据的组织办法是直接相关的

那我这介绍数据形状的组织办法的那我,虽然有兩个多概念:

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

比如说,当我们都歌词 都 一随后随后刚开始 把书架想象成简单的一长条,那么 一层的架子,而且 所有的书是有兩个有兩个挨着放的,除了一头一尾的书以外,每一本书的前面和上端都不都可不里能 一本书,机会每一本书都有兩个多编号得话,那么 而且 个多编号对应的本来一本书,那么 而且 形状是一对一的形状,当我们都歌词 都 管它叫线性形状。

另外并需用组织办法是上端说的第并需用办法,本来先把图书分类,机会我给每有兩个类有兩个编号得话,那么 而且 个多类别的编号上端对应着什么都有本书,那么 这是有兩个一对多的逻辑形状,而且 形状有个名字叫做树。

再说图书馆,假设当我们都歌词 都 还统计那我而且 信息:而且 本书需用哪几被委托人买过,买了这本书的人还买过其它的几个书,于是呢,虽然是一本书对应着什么都村里人 ,而有兩其他人又对应了什么都有本书,这是有兩个多对多的、很复杂的有兩个关系网,那么 而且 关系网对应的逻辑形状叫叫做图

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

除了逻辑形状之外,当我们都歌词 都 还有数据对象再计算机上端的物理存储形状,也本来当我们都歌词 都 说的几个逻辑形状在机器的内存里到底要咋样放,是连续放呢还是东有兩个西有兩个隔开放呢?也本来说用有兩个数组来存它呢,还是用有兩个链表来存它呢?而且 就属于物理存储形状。

此篇完

以上几个本来对数据形状的理解,我能 要应该说全面了吧,本来没全面本来要紧,上端学了再继续补充。

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

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