算法虐我千百遍,我待算法如初恋。
##学习方法
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
算法设计思想
为了更简洁的形式设计和藐视算法,在算法设计时又常常采用递归技术,用递归描述算法。
迭代法
穷举搜索法
递推法
动态规划
贪心算法
回溯
分治算法
http://www.chinaunix.net/old_jh/23/437639.html
推荐阅读
《数据结构与算法分析》
《编程之美》
《算法设计与分析基础》
《算法导论》 告诉你有哪些算法
《算法引论》 告诉你如何创造算法 断货
《剑指offer》
侧重经典算法的实现
《Elements of Programming》 STL代码 快 准 狠
《C interfaces and Implementation》
《微软的梦工厂》
《Language Implementatin patterns》
《Algorithms on Strings,Trees and Sequences》
《writing efficient programs》 优化
《Algorithm Design Manual》 红皮书
《编程珠玑》Programming Pearls 偏算法理论
《More Programming Pearls》 偏算法轶事
《The science of programming》 证明代码段的正确性 800块一本
高级数据结构(如元胞自动机、斐波纳契堆、线段树)
《Algorithms》 4版
《Advanced Data Structures》 各种诡异数据结构和算法 600块
《深入理解计算机系统》
《TCP/IP详解三卷》
《UNIX网络编程二卷》
《UNIX环境高级编程:第2版》
参考链接和学习网站
** @ July 博客http://blog.csdn.net/v_july_v **
《数学建模十大经典算法》
《数据挖掘领域十大经典算法》
《十道海量数据处理面试题》
《数字图像处理领域的二十四个经典算法》
《精选微软等公司经典的算法面试100题》
微软面试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
编程网站
http://leetcode.com/
http://oj.leetcode.com/
http://openjudge.cn/ POJ。这有个POJ上的ACM训练方案 http://www.java3z.com/cwbwebhome/article/article19/res041.html