最近抽空整理了”数据结构和算法”的相关文章。在整理过程中,对于每种数据结构和算法分别给出”C”、”C++”和”Java”这三种语言的实现;实现语言虽不同,但原理如出一辙。因此,读者在了解和学习的过程中,择其一即可!
下面是整理数据数据和算法的目录表,对于每一种按照C/C++/Java进行了划分,方便查阅。若文章有错误或纰漏,请不吝指正。谢谢!
C | C++ | Java | |
线性结构 | 1. 数组、单链表和双链表 | 数组、单链表和双链表 | 数组、单链表和双链表 |
栈 | 栈 | 栈 | |
队列 | 队列 | 队列 | |
树形结构 | 二叉查找树 | 二叉查找树 | 二叉查找树 |
AVL树 | AVL树 | AVL树 | |
伸展树 | 伸展树 | 伸展树 | |
4. 红黑树(六)之 参考资料 | 3. 红黑树(六)之 参考资料 | 3. 红黑树(六)之 参考资料 | |
哈夫曼树 | 哈夫曼树 | 哈夫曼树 | |
… | |||
堆 | 二叉堆 | 二叉堆 | 二叉堆 |
左倾堆 | 左倾堆 | 左倾堆 | |
斜堆 | 斜堆 | 斜堆 | |
二项堆 | 二项堆 | 二项堆 | |
斐波那契堆 | 斐波那契堆 | 斐波那契堆 | |
… | |||
图 | 图的理论基础 | 图的理论基础 | 图的理论基础 |
1. 邻接矩阵无向图 2. 邻接表无向图 3. 邻接矩阵有向图 4. 邻接表有向图 | 1. 邻接矩阵无向图 2. 邻接表无向图 3. 邻接矩阵有向图 4. 邻接表有向图 | 1. 邻接矩阵无向图 2. 邻接表无向图 3. 邻接矩阵有向图 4. 邻接表有向图 | |
深度优先搜索和广度优先搜索 | 深度优先搜索和广度优先搜索 | 深度优先搜索和广度优先搜索 | |
拓扑排序 | 拓扑排序 | 拓扑排序 | |
Kruskal算法 | Kruskal算法 | Kruskal算法 | |
Prim算法 | Prim算法 | Prim算法 | |
Dijkstra算法 | |||
… | |||
排序算法 | 冒泡排序 | 冒泡排序 | 冒泡排序 |
快速排序 | 快速排序 | 快速排序 | |
直接插入排序 | 直接插入排序 | 直接插入排序 | |
希尔排序 | 希尔排序 | 希尔排序 | |
选择排序 | 选择排序 | 选择排序 | |
堆排序 | 堆排序 | 堆排序 | |
归并排序 | 归并排序 | 归并排序 | |
桶排序 | 桶排序 | 桶排序 | |
基数排序 | 基数排序 | 基数排序 | |
… | |||
|