相信很多学计算机的宝子都对《数据结构》这门课程非常苦恼,甚至因此挂科、重修……没错,说的就是你!!
博主在此整理了《数据结构》的所有知识点,每一篇博文都图文并茂,附有相关案例和实现代码。只要你每天花一点时间看完这些博文,在理解的基础下,跟着敲一遍代码,七天便可以掌握《数据结构》!!!
[注:此系列基于Java程序设计语言,仅适合具有Java程序设计基础的宝子学习。]
一、什么是数据结构?
- 数据结构的概念
- 逻辑结构
- 存储结构
- 数据的操作
二、线性表
- 什么是线性表
- 顺序表
- 链表
- 顺序表和链表的比较
三、栈与队列
- 栈的构建及其基本操作
- 队列的构建及其基本操作
- 栈和队列的比较
四、树
1.树的基本概念
2.二叉树——遍历:前序、中序、后序(包含递归和非递归)
3.哈夫曼树
4.树的转换
五、图
1.图的概述
2.图的存储结构——邻接矩阵和邻接表
3.图的遍历——广度优先搜索和深度优先搜索
4.最小生成树——克鲁斯卡尔算法和普里姆算法
5.最短路径——戴克斯特拉算法
6.拓扑排序
六、排序
1.内排序
1)插入排序
a.直接插入排序
b.希尔排序
2)交换排序
b.快速排序
3)选择排序
a.直接选择排序
b.树形选择排序
c.堆排序
4)归并排序
5)基数排序
2.内排序算法的性能分析和比较
3.外排序
1)多路平衡归并
2)置换-选择排序
3)最优归并树
七、查找
1.静态表查找
1)顺序查找
2)二分查找
3)分块查找
2.动态表查找
1)二叉排序树
2)平衡二叉树
3)B+树和B-树
4)红黑树
3.哈希表查找
【参考书籍:数据结构——Java语言描述(第2版),刘小晶、杜选,清华大学出版社。】