《数据结构与算法》---(哔哩哔哩-王卓老师笔记)--数据结构
Posted 闲言_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《数据结构与算法》---(哔哩哔哩-王卓老师笔记)--数据结构相关的知识,希望对你有一定的参考价值。
- 数据结构包含以下三个方面的内容
- 数据元素之间的逻辑关系,也称为逻辑结构
- 数据元素及其关系在计算机内容中的表示(又称为映像),称为数据的物理结构或数据的存储结构。
- 数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。
-
逻辑结构
- 描述数据元素之间的逻辑关系
- 与数据的存储无关,独立于计算机
- 是从具体问题抽象出来的数学模型
-
物理结构(存储结构)
- 数据元素及其关系在计算机存储器中的结构(存储方式)
- 是数据结构在计算机中的表示
-
逻辑结构与存储结构的关系:
- 存储结构是逻辑关系的映像与元素本身的映像
- 逻辑结构是数据结构的抽象,存储结构是数据结构的实现
1.逻辑结构的种类
1.1划分逻辑结构方法一(线性和非线性)
- (1)线性结构
- 有且仅有一个开始和一个终端结构,并且所有结点都最多只有**一个**直接前驱和一个直接后继。
- 例如:**线性表**、**栈**、**队列**、**串**
- (2)非线性结构
- 一个结点可能有**多个**直接前趋和直接后继
- 例如:树、图
1.2划分逻辑结构方法二(四类基本逻辑结构)
-
(1)集合结构:
- 结构中的数据元素之间除了同属于一个集合的关系外,无序任何其他关系 -
(2)线性结构:
- 结构中的数据元素之间存在着一对一的线性关系 -
(3)树形结构:
- 结构中的数据元素之间存在着一对多的层次关系 -
(4) 图状结构或网格结构:
- 结构中的数据元素之间存在着**多对多**的任意关系
2.存储结构的种类
- (1)顺序存储结构
- 用计算机内存当中一片连续的存储单元,依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示
- 用数组来实现顺序存储结构
- 例:(bat、cat、eat)
- (2)链式存储结构
- 用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示。
- C语言中用指针来实现链式存储结构
- 例(bat,cat,eat…mat)
存储下一个元素的地址
- (3)索引存储结构
- 在存储节点信息的同时,还建立附加的索引表
- 索引表中的每一项称为一个索引项
- 索引项的一般形式是:(关键字,地址)
- 关键字是能唯一标识一个节点的那些数据项
- 若每个节点在索引表中都有一个索引项,则该索引表称之为稠密索引(Dense Index)。若一组节点在索引表中只对应一个索引项,则该索引表称之为稀疏索引(Sparse Index)
- index
- (4)散列存储结构
- 根据节点的关键字直接计算出该节点的存储地址
以上是关于《数据结构与算法》---(哔哩哔哩-王卓老师笔记)--数据结构的主要内容,如果未能解决你的问题,请参考以下文章
《数据结构与算法》---(哔哩哔哩-王卓老师笔记)--数据结构