3.7 KiB
算法虐我千百遍,我待算法如初恋。
##学习方法
1) 把所有经典算法写一遍
2) 看算法源码
3) 加入算法学习社区,相互鼓励学习
4) 看经典书籍
##基本数据结构和算法
这些算法全部自己敲一遍:
二叉树
二叉树
二叉查找树
Trie树
后缀树
平衡二叉树AVL
红黑树
B树(B-),B+,B*
R树
最优二叉树(赫夫曼树)
伸展树
二叉堆
二项树
二项堆
斐波那契堆(Fibonacci Heap)
哈希表/散列表 (Hash Table)
字符串算法
BF算法
KMP算法
BM算法
图的算法
最小生成树
拓扑排序
关键路径
最短路径: Floyd,Dijkstra,bellman-ford,spfa
排序算法(八大排序)
快排
插入排序 : 希尔排序
选择排序 : 堆排序
归并排序
基数排序
查找算法
静态查找: 顺序表查找,有序表查找,
动态查找: 二叉排序树,AVL树,B- ,B+
哈希表:
15个经典基础算法
A*.
Dijkstra.
DP
.BFS/DFS.
红黑树.
KMP
.遗传算法.
启发式搜索.
图像特征提取SIFT sift算法
.傅立叶变换
.Hash.
快速排序
.SPFA.
快递选择SELECT
** @ July 博客http://blog.csdn.net/v_july_v **
《数学建模十大经典算法》
《数据挖掘领域十大经典算法》
《十道海量数据处理面试题》
《数字图像处理领域的二十四个经典算法》
《精选微软等公司经典的算法面试100题》
算法设计思想
为了更简洁的形式设计和藐视算法,在算法设计时又常常采用递归技术,用递归描述算法。
迭代法
穷举搜索法
递推法
动态规划
贪心算法
回溯
分治算法
http://www.chinaunix.net/old_jh/23/437639.html
后续阅读
《算法导论》
《编程珠玑》
《编程之美》
《剑指offer》
《深入理解计算机系统》
《TCP/IP详解三卷》
《UNIX网络编程二卷》
《UNIX环境高级编程:第2版》
参考链接和学习网站
POJ http://openjudge.cn/ 这有个POJ上的ACM训练方案 http://www.java3z.com/cwbwebhome/article/article19/res041.html
微软面试100题 http://blog.csdn.net/column/details/ms100.html
程序员编程艺术 http://blog.csdn.net/v_JULY_v/article/details/6460494
https://github.com/julycoding/The-Art-Of-Programming-By-July 算法题集合
https://github.com/activesys/libcstl 通用数据结构和算法库
https://github.com/nonstriater/Learn-Algorithm 算法小组
贝叶斯:
- 阮一峰总结的这两篇《贝叶斯推断及其互联网应用》
http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html
http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_two.html - 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html - 朴素贝叶斯(NB,Naive Bayes)简介
http://home.cnblogs.com/group/topic/40112.html - 数学之美番外篇:平凡而又神奇的贝叶斯方法
http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/
这4部分看完后,就能自己推贝叶斯、朴素贝叶斯,还能了解各种常见概率、集合论等,实际上对应用贝叶斯已经可以打好基础了。
MYSQL 背后的数据结构和算法 http://blogread.cn/it/article/4088?f=wb2
基本算法演示
http://sjjg.js.zwu.edu.cn/SFXX/sf1/sfys.html
http://www.cs.usfca.edu/~galles/visualization/Algorithms.html
编程网站