【算法与数据结构】TO DO List

1、外排的实现

置换选择排序,K路归并(败者树或者堆实现),以及文件的切割。


2、B树、B+树的实现

B树、B+树到底实现来干什么?文件已经是操作系统在管理了,缓存对使用者是透明的,用这两种结构的实战意义是什么?或者说有什么实际问题可以解决?


FASTDB的源代码参考,sqlite的源代码参考,P树的定义及应用场景


3、huffman树的应用

最优前缀编码、最优归并树、poj 补篱笆问题


4、堆得应用

堆结构的实现,置换选择排序,STL partial_sort,海量数据TOP K问题


5、KMP应用

有限自动状态机的本质,前缀串数组,周期串,POJ 一大堆相关题目


确定有穷自动机DFA与不确定有穷自动机NFA,正则语言,正则表达式的实现,可计算性


6、并查集结构

二项堆,斐波那契堆,与堆得区别,优缺点各是什么。在图算法中的应用。

POJ上是否有应用


7、图

基本算法:BFS,DFS,TOPO排序,强连通子图求解

单源最短路径,最短路径


8、数论


9、计算几何


10、NP问题


11、离散数学


12、算法设计策略                        
                           
分治法:归并排序、逆序对的计算、大整数乘法、求最近点对、递归式的求解、主定理及证明 -- 什么情况下采用分治才是有效提高效率的!
                           
分治法的定义,应用场景,诸多著名算法的推断来历 -- 由大划小,递归求解,此为分治比如最小生成树,图的最短路径?  

你可能感兴趣的:(程序人生,草稿记录,算法理论)