数据结构(大致笼统的介绍 一下相关概念,及相互关系)

2021-08-11  本文已影响0人  Allard_c205

在Leecode上遇到了链表的概念,所以就想系统的了解一下数据结构概念吧~~  

因为一直在用,却没有系统地学习过。

数据结构就是研究数据的存储方式。


在小白印象中,数据的存储就是使用变量或数组对数据进行存储,但是对于数据间有复杂关系的时候,这些方法是足以解决问题的,所以就会有其他的存储方式,比如:树结构和图存储结构。数据存储的目的就是为了方便我们取用使用到的数据。

所以,数据结构是一门学科,教会我们如何存储具有复杂关系的数据更有助于后期对数据的再利用。


数据结构大致分为三种存储结构:线性表、树结构和图存储结构。线性结构包括:顺序表、链表、栈和队列;树结构包括:普通树、二叉树、线索二叉树等;

一、线性表对应存储具有‘一对一‘关系的数据。1.  顺序表,可以理解为常用的数组,数据按照一定的顺序排列,其对应的指针,其物理地址也是依次排布的。需要提前申请一定大小的存储空间,该存储空间得到物理地址是连续的;2. 链表,由多个结点组成,每个结点包含数据域和指针域,其指针不是连续的,数据的存储位置也是相互分离的,指针的作用是为了给各个数据块建立‘依次排列’的关系,每个数据块的指针指向下一个数据块,最后一个数据块的指针指向NULL;3. 栈和队列,对线性表中的数据做出了明确的要求,栈要求数据‘先进后出’;4.队列,要求数据‘先进先出’。 

各个表示如下图所示:

二、 树存储结构,对应存储具有‘一对多’关系的数据,就是一个变量它与多个变量之间存在一定的关系。

三、 图存储结构,对应存储具有‘多对多’关系的数据,就是多个变量之间都存在一定的关系。

逻辑结构:数据之间的逻辑关系;物理结构:也就是存储结构,指的是数据在物理存储空间上选择集中存放( 顺序)还是分散存放。后期对数据进行遍历操作,则采用集中存储,后期对数据进行更新(删除或增加)操作,则使用分散存储。

上一篇下一篇

猜你喜欢

热点阅读