欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 【数据结构与算法】数据结构核心概念系统梳理

【数据结构与算法】数据结构核心概念系统梳理

2025/6/23 18:14:43 来源:https://blog.csdn.net/qq_41356752/article/details/148826185  浏览:    关键词:【数据结构与算法】数据结构核心概念系统梳理

第一章 绪论:基础概念体系

🚩算法:问题求解步骤的描述。
🚩非递归的算法效率更高。

1.1 逻辑结构 vs 存储结构

维度逻辑结构存储结构(物理结构)
定义数据元素之间的逻辑关系数据结构在计算机中的实现方式
分类线性/树形/图/集合顺序/链式/索引/散列
独立性独立于存储结构依赖逻辑结构
示例线性表有序表数组(抽象层面)顺序表、链表、静态链表
ADT描述描述操作语义描述具体实现
  • 存储数据时,要存元素的值和元素之间的关系。

1.2 抽象数据类型(ADT)三要素

ADT List {数据对象:D = {a_i | a_i∈ElemSet, i=1,2,...,n}数据关系:R = {<a_{i-1},a_i> | a_{i-1},a_i∈D}基本操作:InitList(&L), ListInsert(&L,i,e)...
}

第二章 三种表:具体实现对比

2.1 核心概念关系

术语本质所属层级与其它概念关系
线性表逻辑结构逻辑层可用顺序/链式存储实现
有序表逻辑结构+约束逻辑层元素有序的线性表
顺序表存储结构物理层线性表的顺序存储实现
数组【随机存取】逻辑结构+存储结构跨层概念可视为特殊的顺序表

2.2 顺序表 vs 有序表 vs 线性表

特性线性表(抽象)顺序表(实现)有序表(特殊)
元素关系前驱后继关系物理相邻存储按关键字有序
存储方式与实现无关连续内存空间通常用顺序存储
查找效率O(n)按位O(1),按值O(n)顺序存储时可二分O(logn)
插入删除依赖实现移动元素O(n)需保持有序性O(n)
  • 栈和队列的ADT相同,即逻辑结构都是线性表。
  • 顺序表具有随机存取是指:查找序号i的元素的时间,与顺序表中元素个数n无关
  • 扩容问题➡顺序表插入算法:n个空间满了时,申请m个,若申请失败,则说明系统没有:n+m个可分配的存储空间(n也要被复制进新表)
  • 对长度为n的、顺序存储的有序表,实现给定的算法中时间复杂度为O(1)的是:获取第i个值的算法。
  • 线性表是具有n个同类型数据元素的有限序列。除开始元素外,每个元素只有唯一的前驱元素。
  • 若非空线性表中的元素,既没有前驱也没有后继,则:表中只有1个元素。
  • 线性表的顺序存储结构:是一种随机存取的存储结构。
  • 线性表要取前驱后继则采用什么物理结构:顺序表最好。
  • 线性表要取指定序号在最后插入删除:物理结构用顺序表最好。
  • 按值查找一定要比较值,所以与长度有关。

第三章 存储结构

3.1 顺序存储 vs 链式存储

特性顺序存储链式存储
物理结构连续内存空间离散节点+指针
存储密度100% ,所以密度大<100%(需存储指针)
访问方式随机存取(直接计算地址)顺序存取(必须遍历)
插入删除O(n)(需移动元素)O(1)(已知位置)
扩容方式需重新分配+复制动态增长
缓存友好性好(空间局部性)
代表实现顺序表、静态数组单链表、双链表
典型应用频繁随机访问场景动态数据集合
能表示的逻辑结构种类少种类多
  • 不能说某一种存储结构优于另一种
  • 元素存放顺序与存储空间大小无关
  • 顺序和链式都能顺序存取

3.2 数组的特殊性分析

视角解释示例
逻辑层线性结构的推广(一维数组即线性表)矩阵是二维线性结构
物理层顺序存储的典型实现int a[10]连续存储
操作特性通过下标直接访问元素(本质是基地址+偏移量计算)a[i] ≡ *(a+i)

第四章 易混淆概念速查表

常见混淆对区分关键记忆技巧
顺序表 vs 数组顺序表强调逻辑关系,数组侧重存储“数组是顺序表的具体实现”
有序表 vs 顺序表有序是逻辑约束,顺序是存储方式“有序表可以用链表实现”
线性表 vs 链表线性表是抽象概念,链表是具体实现“链表是实现线性表的方式”

第五章 知识体系图谱

以下是补充栈(Stack)和队列(Queue)后的完整知识图谱,严格区分逻辑结构与存储结构,并标注实现方式:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词