百摩网
当前位置: 首页 生活百科

数据类型及数据结构(数据结构是学习数据存储方式的一门学科)

时间:2023-07-02 作者: 小编 阅读量: 3 栏目名: 生活百科

例如,存储类似{1,3,5,7,9}这样的数据时,各元素依次排列,每个元素的前面和后边有且仅有一个元素与之相邻,因此可以使用线性表存储。线性表并不是一种具体的存储结构,它包含顺序存储结构和链式存储结构,是顺序表和链表的统称。栈中的元素只能从线性表的一端进出,且要遵循“先入后出”的原则,即先进栈的元素后出栈。树存储结构树存储结构适合存储具有“一对多”关系的数据。

数据类型及数据结构?数据结构是学习数据存储方式的一门学科,那么,数据存储方式有哪几种呢?在这里将对数据结构的学习内容做一个简要的总结,下面我们就来聊聊关于数据类型及数据结构?接下来我们就一起去了解一下吧!

数据类型及数据结构

数据结构是学习数据存储方式的一门学科,那么,数据存储方式有哪几种呢?在这里将对数据结构的学习内容做一个简要的总结。

C/C零基础交流学习群:569268376

数据结构大致包含以下几种存储结构:

线性表,还可细分为顺序表、链表、栈和队列;

树结构,包括普通树,二叉树,线索二叉树等;

图存储结构;

下面对各种数据结构做详细讲解。

线性表

线性表结构存储的数据往往是可以依次排列的,就像小朋友手拉手,每位学生的前面和后面都仅有一个小朋友和他拉手,具备这种“一对一”关系的数据就可以使用线性表来存储。

例如,存储类似 {1,3,5,7,9} 这样的数据时,各元素依次排列,每个元素的前面和后边有且仅有一个元素与之相邻(除首元素和尾元素),因此可以使用线性表存储。

线性表并不是一种具体的存储结构,它包含顺序存储结构和链式存储结构,是顺序表和链表的统称。

顺序表

顺序表,简单地理解,就是常用的数组,只是换了个名字而已,例如使用顺序表存储 {1,3,5,7,9},如图 1 所示:

图 1 顺序表结构

由于顺序表结构的底层实现借助的就是数组,因此对于初学者来说,可以把顺序表完全等价为数组,但实则不是这样。数据结构是研究数据存储方式的一门学科,它囊括的都是各种存储结构,而数组只是各种编程语言中的基本数据类型,并不属于数据结构的范畴。

链表

我们知道,使用顺序表(底层实现靠数组)时,需要提前申请一定大小的存储空间,这块存储空间的物理地址是连续的,如图 1 所示。

链表则完全不同,使用链表存储数据时,是随用随申请,因此数据的存储位置是相互分离的,换句话说,数据的存储位置是随机的。

为了给各个数据块建立“依次排列”的关系,链表给各数据块增设一个指针,每个数据块的指针都指向下一个数据块(最后一个数据块的指针指向 NULL),就如同一个个小学生都伸手去拉住下一个小学生的手,这样,看似毫无关系的数据块就建立了“依次排列”的关系,也就形成了链表,如图 2 所示:

图 2 链表结构

栈和队列

栈和队列隶属于线性表,是特殊的线性表,因为它们对线性表中元素的进出做了明确的要求。

栈中的元素只能从线性表的一端进出(另一端封死),且要遵循“先入后出”的原则,即先进栈的元素后出栈。

图 3 栈结构示意图

栈结构如图 3 所示,像一个木桶,栈中含有 3 个元素,分别是 A、B 和 C,从在栈中的状态可以看出 A 最先进的栈,然后 B 进栈,最后 C 进栈。根据“先进后出”的原则,3 个元素出栈的顺序应该是:C 最先出栈,然后 B 出栈,最后才是 A 出栈。

队列中的元素只能从线性表的一端进,从另一端出,且要遵循“先入先出”的特点,即先进队列的元素也要先出队列。

图 4 队列结构示意图

队列结构如图 4 所示,队列中有 3 个元素,分别是 A、B 和 C,从在队列中的状态可以看出是 A 先进队列,然后 B 进,最后 C 进。根据“先进先出”的原则,3 个元素出队列的顺序应该是 A 最先出队列,然后 B 出,最后 C 出。

树存储结构

树存储结构适合存储具有“一对多”关系的数据。

图 5 家庭族谱

如图 5 所示,其中张平只有一个父亲,但他却有两(多)个孩子,这就是“一对多”的关系,满足这种关系的数据可以使用树存储结构。

图存储结构

图存储结构适合存储具有“多对多”关系的数据。

图 6 图存储结构示意图

如图 6 所示,从 V1 可以到达 V2、V3、V4,同样,从 V2、V3、V4 也可以到达 V1,这就是“多对多”的关系,满足这种关系的数据可以使用图存储结构。

注意:本文只是对数据结构中包含的各种存储结构做一个简要的介绍,各存储结构具体的实现会在后续文章中作详解介绍。欢迎持续关注

    推荐阅读
  • 废弃的有害固体垃圾应该如何处理(工业固体废物的处理方式有哪些)

    工业垃圾除了固体废物废物之外,可能还有食品垃圾、危险垃圾等等,这些垃圾应分类堆放,通过填埋、焚烧等方法进行处理。由于固体废弃物中可燃物的比例逐渐增加,采用焚烧方法处理固体废弃物,利用其热能已成为必然的发展趋势。

  • 头发少脸小剪什么样的头发(头发少脸小如何剪头发)

    头发少脸小剪什么样的头发斜刘海中短发发型,非常适合时尚小脸轻熟女,柔美自然的斜刘海加上蓬松立体感的中短发烫发发型,完美衬托女生可爱脸型,加上棕红色的渐变颜色,时尚潮流感倍增。甜美可爱的中分斜刘海直发发型,中分的刘海设计加上自然柔顺的长直发线条,尽显女生妩媚动人气息。中分扎发发型非常适合小脸女生,中分的刘海设计,打造出两个半圆的弧线,同时将自然顺直的发丝侧扎起来,尽显女生青春活力气息,时尚潮感倍增!

  • 油爆虾丁的做法 油爆虾丁的做法大全

    调料油750克,绍酒1大匙,精盐、味精各1/3小勺,葱、姜、蒜末各少许,淀粉适量。

  • 5岁的孩子不听话怎么教育(5岁的孩子不听话如何教育)

    5岁的孩子不听话怎么教育?接下来我们就一起去了解一下吧!不遵守家长制定的规矩如果时间长了,未来可能会影响宝宝的学习情况。建议平常不要对宝宝太过苛刻,要有什么事都要好好跟宝宝说。有的时候说太深奥了,宝宝也理解不了意思这个时候就需要家长耐心的给宝宝一些辅导等宝宝再大一些就可以理解大人的意思会慢慢的懂事。注意平时一定要对宝宝重视起来,有的时候父母不重视孩子,孩子也不会听父母的话。

  • 高尔夫8最新消息(一辈子绕不开的神车)

    2020年11月7日,网通社从官方获悉,被定义为“数字化”的一汽-大众全新一代高尔夫正式上市,此次上市新车共推出200TSI、280TSI两种排量4款配置,官方指导价为12.98万-16.58万元。配置方面,一汽-大众高尔夫8首次搭载CANFD及车载以太网技术,总线带宽由500K增加至2M,通讯率高达100Mbit/s,从而L2级的驾驶辅助功能和数字化的人机交互体验。新车推出之后,一汽-大众高尔夫也将全面迈向数字化,究竟能否延续往日的辉煌,我们拭目以待。

  • 梦见橘子(梦见橘子好不好)

    接下来我们就一起去了解一下吧!橘子光洁红润,象征着好运当头。梦见熟透了的橘子,暗示着要交好运,会有意外的惊喜。梦见生橘子,要多注意身体健康,预示你可能会生病。未婚男人梦见买橘子,预示将娶一位健康美貌的妻子。

  • 枸杞用开水泡还是用温水(枸杞用开水泡吗)

    我们一起去了解并探讨一下这个问题吧!枸杞用开水泡还是用温水枸杞子是一味药食两用的中药材,可以直接嚼服,也可以泡水喝,也可以用来煲汤。喝枸杞子泡水有三大养生功效:喝枸杞子泡水能够滋阴明目,降肝火。喝枸杞子泡水的好处是有利于睡眠,改善体质。

  • 老爸当家2剧情(老爸当家2剧情是什么)

    老爸当家2剧情在续集中,亲爹沃尔伯格和继父法瑞尔决定把他们的分歧放在一边,携手为孩子们打造一个完美的圣诞节,这时候,孩子们的两个爷爷也到了。这一次,性格好强的爷爷吉布森遇到了极度敏感的爷爷利高特,一场大战也将掀起。《老爸当家2》由希恩·安德鲁斯执导,威尔·法瑞尔、马克·沃尔伯格、琳达·卡德里尼、约翰·塞纳、约翰·利特高、梅尔·吉布森等主演的喜剧片。该片于2017年11月10日在北美上映。

  • 毛驴县令电影大全集(古装动作喜剧盛宴毛驴县令第二季将播)

    在喜剧风格和艺术追求上,《毛驴县令》第二季比第一季有更加大胆的创新和突破。毋庸置疑,《毛驴县令》第二季将是潘长江人生中重要的一个代表作品。此次加盟《毛驴县令》第二季,苑琼丹延续了那个血盆大口、如狼似虎、风华绝代、万人惊艳的石榴姐夸张的表演风格,令人印象深刻。

  • 冰虾是生的还是熟的(带籽冰虾是生的还是熟的)

    冰虾是生的还是熟的常食的冰虾,即北极甜虾是熟的。但若是介意冰虾过凉或不爱吃冰虾或是在冰虾解冻后,忘记及时食用,放置了一段时间的,建议常温后的冰虾再入沸水或炒锅中热制一遍,避免其中有细菌或病菌侵入,吃了引发身体不适。