数据结构基础
基本学习思维导图

数据结构基础核心整理
一、逻辑结构(数据元素间的逻辑关系)
-
集合
数据元素之间无任何特定关联,仅同属一个集合。 -
线性结构
数据元素之间存在一对一的前后关系,有唯一前驱、唯一后继。
典型:线性表、栈、队列、字符串、数组。 -
树形结构
数据元素之间存在一对多的层次关系,一个节点可对应多个子节点。
典型:二叉树、二叉搜索树、堆、哈夫曼树。 -
图形结构
数据元素之间存在多对多的任意关系,节点间可任意连通。
典型:有向图、无向图、网(带权图)。
二、存储结构(数据在计算机中的实际存放方式)
- 顺序存储
- 代表结构:数组
- 特点:数据元素地址连续,可随机访问,插入删除效率较低。
- 链式存储
- 代表结构:链表(单链表、双向链表、循环链表)
- 特点:每个节点包含数据域 + 指针域,地址不连续,只能顺序访问,插入删除灵活高效。
-
索引存储
建立附加索引表,通过索引快速定位数据。 -
散列存储
通过哈希函数直接计算存储地址,实现快速查找。
三、线性表:顺序表 & 单链表(重点)
1. 顺序表
- 本质:采用顺序存储的线性表,底层为数组。
- 特点:
- 物理地址连续
- 支持随机访问,查找指定下标元素效率高 O(1)
- 插入、删除需移动大量元素,效率低 O(n)
- 容量固定,易造成空间浪费或溢出
2. 单链表
- 本质:采用链式存储的线性表,每个节点含数据域和后继指针域。
- 特点:
- 物理地址不连续,逻辑连续
- 不支持随机访问,只能从头遍历查找 O(n)
- 插入、删除只需修改指针,效率高 O(1)(已知节点位置时)
- 按需分配空间,无空间浪费
3. 顺序表与单链表对比
- 查找:顺序表 O(1) 优于单链表 O(n)
- 插入/删除:单链表更高效
- 空间:顺序表静态分配,单链表动态分配
- 适用场景:频繁查找用顺序表,频繁增删用单链表
四、算法评价标准
-
时间复杂度
衡量算法执行时间随问题规模 n 增长的变化趋势,反映算法执行效率。 -
空间复杂度
衡量算法在运行过程中临时占用的内存空间大小,如辅助变量、辅助数组、递归栈等占用的空间。
内容由豆包AI辅助编写

浙公网安备 33010602011771号