数据结构知识点汇总(最全思维导图)

学习数据结构,就是学习数据的各种存储方案,包括线性表、栈和队列、串、数组和广义表、树和图。

数据结构究竟有哪些知识点需要学习呢?为了方便大家更直观地看到所有知识点,我制作了一张数据结构的思维导图,罗列了几乎数据结构所有的知识点。

查看高清大图

数据结构思维导图(C语言版)

每个知识点都提供了对应的讲解文章,大家哪个知识点不懂,直接找相应的文章去看。

数据结构知识点总结

① 数据结构基础

——1、数据结构是什么

————一句话,数据结构是一门教你怎样存储数据的学科。

——2、逻辑结构和物理结构的区别

————逻辑结构描述的数据之间的关系;物理结构描述的是数据的内存中真实的存储状态。

——3、数据结构和算法的区别和联系

————数据结构研究的是怎样存储数据;算法研究的是解决问题的方法。

——4、时间复杂度和空间复杂度

————「时间复杂度」预估算法的执行时间;「空间复杂度」预估算法占用的内存大小。

——5、学习数据结构需要具备的基础

————学习数据结构,必须熟练掌握一门编程语言,再没别的了。

——6、学数据结构的好处

————1) 提升程序员的逻辑思维;

————2) 能力高低的分水岭;

————3) 程序性能好坏的评判标准。

② 线性表:用来存储逻辑关系为"一对一"的数据

——顺序表

————顺序表是什么

————顺序表的基本操作(增删查改)

————顺序表和数组的区别

——(动态)链表

————单链表

——————链表是什么

——————链表的基本操作(增删查改)

——————链表和顺序表的区别

————双向链表

——————双向链表的构建

——————双向链表的基本操作(增删查改)

————循环链表

————双向循环链表

——静态链表

————静态链表是什么

————静态链表的基本操作(增删查改)

————静态链表和动态链表的区别

——热门问题

————删除链表倒数第 N 个结点

————单链表的反转

————判断两个单链表相交

————判断链表中有环

③ 栈和队列

——栈:存储逻辑关系为 “一对一” 的数据,存取数据必须遵循 “先进后出” 的原则

————顺序栈

————链栈

————和栈有关的热门问题

——————递归实现栈的逆序

——————栈实现进制转换器

——————栈解决括号匹配问题

——————栈求表达式的值

——队列:存储逻辑关系为“一对一”的数据,存取数据必须遵循 “先进先出” 的原则

————顺序队列

————循环队列(顺序队列的变种)

————链式队列

————和队列有关的热门问题

——————两个栈实现一个队列

——————两个队列实现一个栈

④ 串

——串结构:专门用来存储多个逻辑关系为 “一对一” 的字符

——顺序存储

————定长顺序存储

————堆分配存储

——链式存储

————块链存储

——和串相关的算法

————BF算法(普通模式匹配算法)

————kmp算法(快速模式匹配算法)

⑤ 数组和广义表:用来存储多份逻辑关系为 ”一对一“ 的数据

——数组

————顺序存储

————压缩存储:如果数据中存储大量无效的元素,可以采用压缩存储的方式

——————顺序存储

————————三元组顺序表

————————行逻辑链接的顺序表

——————链式存储

————————十字链表

——广义表

————链式存储

————长度和深度

————广义表的复制

⑥ 树:专门存储逻辑关系为 “一对多” 的数据

——普通树

————顺序存储

——————双亲表示法

————链式存储

——————孩子表示法

——————孩子兄弟表示法

——二叉树:每个结点最多有 2 个孩子,这样树称为二叉树

————普通存储

——————二叉树的顺序存储结构详解

————链式存储

——————二叉树的链式存储结构(C语言详解)

————线索二叉树

——————线索二叉树:遍历效率更高的二叉树

——————双向线索二叉树:更高级的线索二叉树

————二叉树的遍历

——————先序遍历

——————中序遍历

——————后序遍历

——————层次遍历

——哈夫曼树

——和树相关的热门问题

————n个结点最多可以构建多少棵树?

————孩子兄弟表示法将森林转变成二叉树

————回溯算法

⑦ 图:专门存储逻辑关系为 “多对多” 的数据

——图的基本知识

————连通图

————生成树

————最小生成树

————重连通图

————最短路径

————关键路径

——图的存储

————顺序存储

————链式存储

——————邻接表存储结构

——————十字链表存储结构

——————邻接多重表存储结构

——图的遍历

————深度优先搜索算法(DFS)

————广度优先搜索算法(BFS)

——生成树(森林)

————深度优先生成树(森林)

————广度优先生成树(森林)

——找最小生成树

————普里姆算法(Prim算法)

————克鲁斯卡尔算法(Kruskal算法)

——求最短路径

————迪杰斯特拉算法(Dijkstra算法)

————弗洛伊德算法(Floyd算法)

——图相关的算法

————拓扑排序算法

⑧ 查找表:专门存储逻辑关系为 “无关系” 的数据

——静态查找表:只对查找表做查找和读取元素的操作,不改变查找表的存储结构

————顺序查找

————二分查找

————分块查找

————静态树表查找

——动态查找表:对查找表做插入或者删除操作,查找表的结构发生了改变

———— 二叉排序树

————平衡二叉树(AVL树)

————红黑树

————B-树

————B+树

————键树

————哈希表

⑨ 排序算法

——插入排序算法

————普通插入排序算法

————折半插入排序算法

————2-路插入排序算法

————表插入排序算法

——希尔排序算法

——冒泡排序算法

——快速排序算法

——选择排序算法

————简单选择排序

————树形排序

————堆排序

——归并排序算法

——基数排序算法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容