Files
Learn-Algorithms/README.md
T
2014-05-05 19:44:01 +08:00

3.2 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 《数学建模十大经典算法》 《数据挖掘领域十大经典算法》 《十道海量数据处理面试题》 《数字图像处理领域的二十四个经典算法》 《精选微软等公司经典的算法面试100题》

算法设计思想

为了更简洁的形式设计和藐视算法,在算法设计时又常常采用递归技术,用递归描述算法。

迭代法 穷举搜索法 递推法

动态规划 贪心算法 回溯 分治算法

http://www.chinaunix.net/old_jh/23/437639.html

后续阅读

《算法导论》
《编程珠玑》
《编程之美》
《剑指offer》

《深入理解计算机系统》 《TCP/IP详解三卷》 《UNIX网络编程二卷》 《UNIX环境高级编程:第2版》

参考链接和学习网站

微软面试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 算法小组

贝叶斯:

  1. 阮一峰总结的这两篇《贝叶斯推断及其互联网应用》 http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_two.html
  2. 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification) http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html
  3. 朴素贝叶斯(NB,Naive Bayes)简介 http://home.cnblogs.com/group/topic/40112.html
  4. 数学之美番外篇:平凡而又神奇的贝叶斯方法 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/