CS2040S Notes - HolmesJJ/Data-Structures-and-Algorithms GitHub Wiki
常用知识
任何递归的本质,实际上就是入栈出栈的过程。也就是说只要是递归的,都可以改成非递归(详见快速排序非递归版本)代码都是Java,了解泛型,代码复制即可运行
Probability Theory概率论
Fibonacci斐波那契
数组的中位数
一次性弄懂到底什么叫做分治思想(含有大量经典例题,附带详细解析)
各种数据结构性能的比较
速查表:常用算法和数据结构的复杂度
简单测试用例
Sort
快速记忆法Bogo Sort
Ingrassia-Kurtz Sort
Bubble Sort冒泡排序
Selection Sort选择排序
Insertion Sort插入排序
Merge Sort归并排序
Quick Sort快速排序
Quick Select快速选择
Bucket Sort桶排序
Counting Sort计数排序
Radix Sort基数排序
Heap Sort堆排序
Shell's Sort希尔排序
排序算法问题:稳定排序与不稳定排序
选择排序和冒泡排序哪个更高效一点
排序算法时间复杂度、空间复杂度、稳定性比较
各种排序算法比较(2):时间复杂度,空间复杂度
Tree
树的高度与深度Binary Tree二叉树
Binary Search Tree二叉搜索树
AVL Tree平衡二叉树
Scapegoat Tree替罪羊树
Trie Tree字典树
B-TreeB-树
KD TreeK维树
Game Tree博弈树
最详细红黑树结构-二叉树-哈希-B+树-HASH-平衡算法
Tree Notes
Graph
图的简介Graph Introduction有向图Directed Graph
有向无环图Directed Acyclic Graph
广度优先搜索Breadth-First Search(BFS) 和 深度优先搜索Depth-First Search(DFS)
单源最短路径Single Source Shortest Path
贝尔曼-福特Bellman-Ford
狄克斯特拉Dijkstra's
弗洛伊德Floyd Warshall
最小生成树Minimum Spanning Tree
普里姆Prim's
克鲁斯克尔Kruskal's
Boruvka's
最小生成树MST VS 单源最短路径SSSP VS 最短路径树SPT
斯坦纳树Steiner Tree
最短路径树Shortest Path Tree
马尔科夫链Markov Chain