update readme.md

This commit is contained in:
nonstriater
2015-11-28 21:52:24 +08:00
parent 8d6794e718
commit 599cf26519
+53 -53
View File
@@ -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