最近抽空整理了"数据结构和算法"的相关文章。在整理过程中, 对于每种数据结构和算法分别给出"C"、"C++"和"Java"这三种语言的实现;实现语言虽不同,但原理如出一辙。因此,读者在了解和学习的过程中,择其一即可! C C++ Java 线性结构 1. 数组、单链表和双链表 数组、单链表和双链表 数组、单链表和双链表 2. Linux内核中双向链表的经典实现 栈 栈 栈 队列 队列 队列 树性结构 二叉查找树 二叉查找树 二叉查找树 AVL树 AVL树 AVL树 伸展树 伸展树 伸展树 哈夫曼树 哈夫曼树 哈夫曼树 1. 红黑树(一)之 原理和算法详细介绍 1. 红黑树(一)之 原理和算法详细介绍 1. 红黑树(一)之 原理和算法详细介绍 2. 红黑树(二)之 C语言的实现 2. 红黑树(四)之 C++的实现 2. 红黑树(五)之 Java的实现 3. 红黑树(三)之 Linux内核中红黑树的经典实现 3. 红黑树(六)之 参考资料 3. 红黑树(六)之 参考资料 4. 红黑树(六)之 参考资料 堆 二叉堆 二叉堆 二叉堆 左倾堆 左倾堆 左倾堆 斜堆 斜堆 斜堆 二项堆 二项堆 二项堆 斐波那契堆 斐波那契堆 斐波那契堆 图 图的理论基础 图的理论基础 图的理论基础 1. 邻接矩阵无向图 1. 邻接矩阵无向图 1. 邻接矩阵无向图 2. 邻接表无向图 2. 邻接表无向图 2. 邻接表无向图 3. 邻接矩阵有向图 3. 邻接矩阵有向图 3. 邻接矩阵有向图 4. 邻接表有向图 4. 邻接表有向图 4. 邻接表有向图 深度优先搜索和广度优先搜索 深度优先搜索和广度优先搜索 深度优先搜索和广度优先搜索 拓扑排序 拓扑排序 拓扑排序 Kruskal算法 Kruskal算法 Kruskal算法 Prim算法 Prim算法 Prim算法 Dijkstra算法 Dijkstra算法 Dijkstra算法 排序算法 冒泡排序 冒泡排序 冒泡排序 快速排序 快速排序 快速排序 直接插入排序 直接插入排序 直接插入排序 希尔排序 希尔排序 希尔排序 选择排序 选择排序 选择排序 堆排序 堆排序 堆排序 归并排序 归并排序 归并排序 桶排序 桶排序 桶排序 基数排序 基数排序 基数排序