update readme.md
This commit is contained in:
@@ -4,10 +4,10 @@
|
||||
|
||||
##学习方法
|
||||
|
||||
1) 把所有经典算法写一遍
|
||||
2) 看算法源码
|
||||
3) 加入算法学习社区,相互鼓励学习
|
||||
4) 看经典书籍
|
||||
1. 把所有经典算法写一遍
|
||||
2. 看算法源码
|
||||
3. 加入算法学习社区,相互鼓励学习
|
||||
4. 看经典书籍
|
||||
|
||||
>如果你想为该项目贡献点什么,可以先加我个人微信:tiger-ran,非诚勿扰~:)
|
||||
|
||||
@@ -17,22 +17,22 @@
|
||||
这些算法全部自己敲一遍:
|
||||
|
||||
###二叉树
|
||||
二叉树
|
||||
二叉查找树
|
||||
Trie树(前缀树)
|
||||
后缀树
|
||||
最优二叉树(赫夫曼树)
|
||||
伸展树(splay tree 分裂树)
|
||||
平衡二叉树AVL
|
||||
红黑树
|
||||
B树(B-),B+,B*
|
||||
R树
|
||||
* 二叉树
|
||||
* 二叉查找树
|
||||
* Trie树(前缀树)
|
||||
* 后缀树
|
||||
* 最优二叉树(赫夫曼树)
|
||||
* 伸展树(splay tree 分裂树)
|
||||
* 平衡二叉树AVL
|
||||
* 红黑树
|
||||
* B树,B+,B*
|
||||
* R树
|
||||
|
||||
|
||||
二叉堆 (大根堆,小根堆)
|
||||
二项树
|
||||
二项堆
|
||||
斐波那契堆(Fibonacci Heap)
|
||||
* 二叉堆 (大根堆,小根堆)
|
||||
* 二项树
|
||||
* 二项堆
|
||||
* 斐波那契堆(Fibonacci Heap)
|
||||
|
||||
|
||||
###哈希表/散列表 (Hash Table)
|
||||
@@ -40,18 +40,18 @@ R树
|
||||
|
||||
###字符串算法
|
||||
|
||||
BF算法
|
||||
KMP算法
|
||||
BM算法
|
||||
* BF算法
|
||||
* KMP算法
|
||||
* BM算法
|
||||
|
||||
|
||||
###图的算法
|
||||
|
||||
图的存储结构和基本操作(建立,遍历,删除节点,添加节点)
|
||||
最小生成树
|
||||
拓扑排序
|
||||
关键路径
|
||||
最短路径: Floyd,Dijkstra,bellman-ford,spfa
|
||||
* 图的存储结构和基本操作(建立,遍历,删除节点,添加节点)
|
||||
* 最小生成树
|
||||
* 拓扑排序
|
||||
* 关键路径
|
||||
* 最短路径: Floyd,Dijkstra,bellman-ford,spfa
|
||||
|
||||
|
||||
|
||||
@@ -59,47 +59,47 @@ BM算法
|
||||
|
||||
**交换排序算法**
|
||||
|
||||
插入排序
|
||||
选择排序
|
||||
希尔排序
|
||||
|
||||
堆排序
|
||||
快排
|
||||
归并排序
|
||||
* 冒泡排序
|
||||
* 插入排序
|
||||
* 选择排序
|
||||
* 希尔排序
|
||||
|
||||
* 快排
|
||||
* 归并排序
|
||||
* 堆排序
|
||||
|
||||
**线性排序算法**
|
||||
|
||||
基数排序
|
||||
* 基数排序
|
||||
|
||||
|
||||
### 查找算法
|
||||
顺序表查找:顺序查找
|
||||
有序表查找:二分查找
|
||||
分块查找: 块内无序,块之间有序;可以先二分查找定位到块,然后再到`块`中顺序查找 中使用顺序查找(这里之所以叫 `动态查找表`,是因为表结构是查找的过程中动态生成的)
|
||||
动态查找: 二叉排序树,AVL树,B- ,B+
|
||||
哈希表: O(1)
|
||||
|
||||
* 顺序表查找:顺序查找
|
||||
* 有序表查找:二分查找
|
||||
* 分块查找: 块内无序,块之间有序;可以先二分查找定位到块,然后再到`块`中顺序查找
|
||||
* 动态查找: 二叉排序树,AVL树,B- ,B+ (这里之所以叫 `动态查找表`,是因为表结构是查找的过程中动态生成的)
|
||||
* 哈希表: O(1)
|
||||
|
||||
|
||||
###15个经典基础算法
|
||||
|
||||
A*寻路算法: 求解最短路径
|
||||
Dijkstra:最短路径算法
|
||||
* A*寻路算法: 求解最短路径
|
||||
* Dijkstra:最短路径算法
|
||||
>(八卦下:Dijkstra是荷兰的计算机科学家,提出”信号量和PV原语“,"解决哲学家就餐问题",”死锁“也是它提出来的)
|
||||
|
||||
DP (动态规划 dynamic programming)
|
||||
BFS/DFS (广度/深度优先遍历)
|
||||
红黑树 (一种自平衡的`二叉查找树`)
|
||||
KMP 字符串匹配算法
|
||||
遗传算法
|
||||
启发式搜索
|
||||
图像特征提取之SIFT算法
|
||||
傅立叶变换
|
||||
Hash
|
||||
快速排序
|
||||
SPFA(shortest path faster algorithm) 单元最短路径算法
|
||||
快递选择SELECT
|
||||
* DP (动态规划 dynamic programming)
|
||||
* BFS/DFS (广度/深度优先遍历)
|
||||
* 红黑树 (一种自平衡的`二叉查找树`)
|
||||
* KMP 字符串匹配算法
|
||||
* 遗传算法
|
||||
* 启发式搜索
|
||||
* 图像特征提取之SIFT算法
|
||||
* 傅立叶变换
|
||||
* Hash
|
||||
* 快速排序
|
||||
* SPFA(shortest path faster algorithm) 单元最短路径算法
|
||||
* 快递选择SELECT
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user