先放一张自己学习和整理归纳的思维导图,以便让大家都知道我自己的整体学习路线。
数据结构的学习路上内容枯燥,但坚持下来一定有很大的收获!加油💪🏻!
数据结构
- 数据的概念
- 数据元素:
若干基本项(或称字段、域、属性) - 数据结构
数据结构指的是数据元素及数据元素之间的相互关系,或组织数据的形式。
数据之间的结构关系
逻辑结构
表示数据之间的抽象关系(邻接关系、从属关系),按照每个元素可能具有的直接前取数和直接后继数将逻辑结构分为线性结构和非线性结构。
存储结构
逻辑结构在计算机中的具体实现方法,分为顺序结构存储方法,链接存储方法、索引存储方法散列存储方法。
逻辑结构
1. 特点:
-
只是描述数据结构中数据元素之间的联系规律。 是
-
从具体问题中抽象出来的数学模型,是独立于计算机存储器的。
2. 分类:
2.1 线性结构:
对数据结构课程而言,简单说,线性结构是n个数据元素的有序集合。
- 集合中必存在唯一的一个 第一个元素; - 集合中必存在唯一的一个 最后的元素; - 除最后元素之外,其他数据元素均有唯一的“后继”; - 除第一元素之外,其他数据元素均有唯一的“前驱”。
2.2 树形结构(层次结构)
树形结构指的是数据元素之间存在着“一对多”的树形关系的数据结构,是一类重要的非线性数据结构。在树形结构中,树根节点没有前驱节点,其余每个节点有且只有一个前驱节点。叶子节点没有后续节点,其余每个节点的后续节点数可以是一个也可以是多个。
2.3 图状结构(网状结构)
图是一种比较复杂的数据结构。在图结构中任意两个元素之间都可能有关系,也就是说这是一种多对多的关系。
2.4 其他结构
除了以上几种常见的逻辑结构外,数据结构还包含其他的结构,比如集合等。有时根据实际情况抽象的模型不止简单的某一种,也可能拥有更多的特征。
存储结构
1.特点:
在计算机中,存储器一般分为 寄存器(CPU计算)、主存储器(内存)、外存储器(磁盘)。
- 是数据的逻辑结构在计算机存储器中的映像(或表示)
- 存储结构是通过计算机存储程序来实现的,因而是依赖于具体的计算机语言的。
2. 存储结构分类
2. 1 顺序存储
将数据结构中各个元素按照其逻辑顺序存放于寄存器一片连续的存储空间中。
优点:查找数据快
缺点:更新数据慢,即插入数据花费时间长。
2.2 链式存储
将数据结构中各个元素分布到存储器的不同点,用记录下一个节点位置的方式建立他们之间的联系,由此得到的存储结构为链式存储结构。
优点:空间利用率好,即插入时间快。
缺点:查询时间慢。
2.3 索引存储
在存储数据的同时,建立一个附加索引表,即索引存储结构=数据文件+索引表。