台湾生活网_台湾人的网上生活家园 -

大发pk10怎么注册 _【一】、什么是数据结构

  • 时间:
  • 浏览:6

前言

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

对数据形状的理解

首先从定义上来说语句,好像对数据形状没哪些地方地方一两个多统一的、标准的答案,我找了好几本书,挑了一两个多我认为还计较好理解的定义:

数据形状是计算机中存储、组织数据的法子。通常请况下,精心选取的数据形状都需用带来最优时延的算法。

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

举例:怎么可不可以在书架上摆放图书?

也可是我说,现在有有些书架,还有一堆图书,我都需用怎么可不可以把它们里装书架上去呢?换言之说,有一堆数据,给了你有些存储空间,我都需用缘何把哪些地方地方数据存起来呢?

虽然 這個大问题问的不科学,不可能 你真不知道所谓的书架是长哪些地方样,不可能 是下面图片中的任意某种。

 

 

可是我你就知道了,当一帮人真不知道一两个多数据缘何组织的可是我,虽然 是跟這個数据的规模有关系的。不一样规模的大问题,它出理 起来的难度就不一样。难在哪些地方地方呢?难越来越说我都需用把它缘何放,而在于放這個书是为了做事情用的,可是我说图书的摆放虽然 跟一两个多操作直接相关:

操作一:新书缘何插入

操作二:缘何找到某本指定的书

法子一:真真不知道大伙 是怎么可不可以考虑的,我第一两个多感觉可是我随便放,随便放一两个多好处可是我:新书缘何插入,這個操作是非常简单的,哪有空就放哪,最简单的法子可是我把所有的书一本一本挨着放,可是我呢,所有的新书哪里有空放哪里,So easy!放起来简单,但第一两个操作缘何办,怎么可不可以查找?那就会成为一件很恐怖的事……累死你!哪些地方可是我累死呢,虽然 不可能 可是我一两个多很小的书架,倒也累不死,但不可能 是中间第三张那样的书城,可是我你想象,中间所有的图书不是随便放的,可是我一帮人真不知道,這個书城里有越来越某一本书,虽然 那本书越来越,但有你在忘了有越来越,那你缘何能选取它到底有越来越呢?你就只好从头到尾把每一本书都过一遍,可是我要能叹一口气说……唉,不好意思,越来越这本书。

法子二:那大伙 有越来越稍微聪明有些的出理 法子呢?可是我怎么可不可以我都需用找书找的方便呢?第一两个法子,可是我按照书名的拼音字母顺序排放,有了這個字母序可是我,查找就方便多了。一两个多最聪明的法子是二分查找哪些地方是二分查找:比如说现在有一长排的书里装你背后,可是我大伙 找一本叫《数据形状》的以S开头的书,曾经先从這個排的中间找一本书出来看它的书名的首字母,若果说是《离散数学》,以L开头的书,那大伙 知道,S在L的中间,可是我《离散数学》前面的书想要我越多 管它了,我的查找范围缩小了一半,从L现在开始英文往后找,可是我再找這個半的中间,比如找到的一本书是《网络爬虫》,以W开头的,那S在L和W中间,《网络爬虫》中间的书想要我越多 管了,于是我的查找范围又缩小了一半,以此类推,我都需用每次都找,可是我跟中间這個比,调快就会把范围缩小到一本书上,想要会知道这本书到底是有还是越来越。這個法子比前面的法子聪明多了,它很好的出理 了查找的大问题。可是我,大问题又来了,新书来了缘何插入呢?它就会成为新的令人头疼的大问题。比如说,我新买了一本书叫《阿Q正传》,是以A开头的,呃……惨了,那大伙 得把几乎所有的书往后一本一本的错位,突然到前面留出一两个多空挡,把新书里装去,這個似乎也很头疼。

法子三:那怎么可不可以找一两个多两全其美的法子呢?大伙 来想想,图书馆里是怎么可不可以来摆书的,大伙 若果说去图书馆,找《数据形状》,要缘何找,你我越多 可能 是从第一本现在开始英文找,可是我不可能 是随便中间摸一本找,你进到图书馆里,第一件事情要找的是计算机类的书在哪里对不对?图书馆里的书通常是按照书的类别来分的,比如说大伙 有社会科学类、文学类、艺术类、理科、工科等,可是我工科下面不可能 都会分的再细有些,比如说大伙 计算机类不可能 就分在工科的下面,這個分法哪些地方地方好处呢?把书架划分成几条区域,每快区域指定摆放某种类别的图书,在累积类别内,按照书名的拼音字母顺序排放,曾经不管我在每一两个多类里做哪些地方样的操作,总归来说,图书的规模小了可是我,跟整个图书馆的规模相比,我是某一类的,无论是查找还是插入,不是非常方便的。查找呢,可是我在二分查找可是我,大伙 先定一两个多类别,可是我在一两个多类的一两个多小范围中间做二分查找,就都需用调快的找到大伙 要查找的书了。不可能 是插入,也是先定类别,用二分查找来选取一下它应该被插在哪些地方位置,可是我移空位这件事不可能 还是要做的,可是我总归比大伙 刚现在开始英文要移的书的数量少多了。

那现在大问题又来了:

大问题一:空间怎么可不可以分配?

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

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

说哪些地方地方大问题是想说明:

出理 大问题法子的时延,跟数据的组织法子是直接相关的

曾经这介绍数据形状的组织法子的可是我,虽然 有一两个多概念:

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

比如说,大伙 一现在开始英文把书架想象成简单的一长条,越来越一层的架子,可是我所有的书是一两个多一两个多挨着放的,除了一头一尾的书以外,每一本书的前面和中间都必须一本书,不可能 每一本书都一两个多多编号语句,越来越這個两个多编号对应的可是我一本书,越来越這個形状是一对一的形状,大伙 管它叫线性形状。

另外某种组织法子是中间说的第某种法子,可是我先把图书分类,不可能 我给每一两个多类一两个多编号语句,越来越這個两个多类别的编号中间对应着可是我本书,越来越这是一两个多一对多的逻辑形状,這個形状有个名字叫做树。

再说图书馆,假设大伙 还统计曾经有些信息:這個本书也哪些地方地方地方人买过,买了这本书的人还买过其它的哪些地方书,于是呢,虽然 是一本书对应着可是我人,而一两个多人又对应了可是我本书,这是一两个多多对多的、很比较复杂的一两个多关系网,越来越這個关系网对应的逻辑形状叫叫做图

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

除了逻辑形状之外,大伙 还有数据对象再计算机中间的物理存储形状,也可是我大伙 说的哪些地方地方逻辑形状在机器的内存里到底要缘何放,是连续放呢还是东一两个多西一两个多隔开放呢?也可是我说用一两个多数组来存它呢,还是用一两个多链表来存它呢?這個就属于物理存储形状。

此篇完

以上哪些地方地方可是我对数据形状的理解,我都需用应该说全面了吧,可是我没全面可是我要紧,中间学了再继续补充。

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

 【原创声明】:有些人原创:https://www.cnblogs.com/zyx110/