秒速快3在线注册平台_【一】、什么是数据结构

  • 时间:
  • 浏览:2
  • 来源:筱凯博客 - 专注共享流年博客分享

前言

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

对数据形态的理解

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

数据形态是计算机中存储、组织数据的辦法 。通常具体情况下,精心选择的数据形态都可不可不上能 带来最优下行速率 的算法。

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

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

也就说 我说,现在有你是什么书架,还有一堆图书,你都可不可不上能 咋样把它们插进书架上去呢?换言之说,有一堆数据,给了你你是什么存储空间,你都可不可不上能 为甚在么在把哪几种数据存起来呢?

虽然你是什么 问题问的不科学,可能性你我都这么乎 所谓的书架是长哪几种样,可能性是下面图片中的任意有一种。

 

 

就说 我你就知道了,当许多人我都这么乎 有有一个 数据为甚在么在组织的但是,虽然是跟你是什么 数据的规模有关系的。不一样规模的问题,它外理起来的难度就不一样。难在哪几种地方呢?难都这么说你都可不可不上能 把它为甚在么在放,而在于放你是什么 书是为了做事情用的,就说 我说图书的摆放虽然跟有有一个 操作直接相关:

操作一:新书为甚在么在插入

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

辦法 一:我都这么乎 大伙是咋样考虑的,我第有有一个 感觉就说 我随便放,随便放有有一个 好处就说 我:新书为甚在么在插入,你是什么 操作是非常简单的,哪有空就放哪,最简单的辦法 就说 我把所有的书一本一本挨着放,就说 我呢,所有的新书哪里有空放哪里,So easy!放起来简单,但第有一个操作为甚在么在办,咋样查找?那就会成为一件很恐怖的事……累死你!哪几种但是累死呢,虽然可能性就说 我有有一个 很小的书架,倒也累不死,但可能性是里边第三张那样的书城,就说 我你想象,里边所有的图书都是随便放的,就说 我许多人我都这么乎 ,你是什么 书城里有这么某一本书,虽然那本书这么,但有你在忘了有这么,那你为甚在么在能选择它到底有这么呢?你就只好从头到尾把每一本书都过一遍,就说 我都可不可不上能 叹一口气说……唉,不好意思,这么这本书。

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

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

那现在问题又来了:

问题一:空间咋样分配?

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

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

说哪几种问题是想说明:

外理问题辦法 的下行速率 ,跟数据的组织辦法 是直接相关的

曾经这介绍数据形态的组织辦法 的但是,虽然有有有一个 概念:

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

比如说,大伙一始于把书架想象成简单的一长条,这么一层的架子,就说 我所有的书是有有一个 有有一个 挨着放的,除了一头一尾的书以外,每一本书的前面和里边都都可不可不上能 都可不可不上能 一本书,可能性每一本书都是有有一个 编号话语,这么这有有一个 编号对应的就说 我一本书,这么你是什么 形态是一对一的形态,大伙管它叫线性形态。

另外有一种组织辦法 是里边说的第有一种辦法 ,就说 我先把图书分类,可能性我给每有有一个 类有有一个 编号话语,这么这有有一个 类别的编号里边对应着就说 我本书,这么这是有有一个 一对多的逻辑形态,你是什么 形态有个名字叫做树。

再说图书馆,假设大伙还统计曾经你是什么信息:你是什么 本书都是哪几种人买过,买了这本书的人还买过其它的哪几种书,于是呢,虽然是一本书对应着就说 我人,而有有一个 人又对应了就说 我本书,这是有有有一个 对多的、很复杂性的有有一个 关系网,这么你是什么 关系网对应的逻辑形态叫叫做图

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

除了逻辑形态之外,大伙还有数据对象再计算机里边的物理存储形态,也就说 我大伙说的哪几种逻辑形态在机器的内存里到底要为甚在么在放,是连续放呢还是东有有一个 西有有一个 隔开放呢?也就说 我说用有有一个 数组来存它呢,还是用有有一个 链表来存它呢?你是什么 就属于物理存储形态。

此篇完

以上哪几种就说 我我对数据形态的理解,要你都可不可不上能 说全面了吧,就说 我没全面就说 我要紧,里边学了再继续补充。

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

 【原创声明】:你是什么人原创:https://www.cnblogs.com/zyx110/