算法分类索引

各大OJ解题报告:HDU(HOJ)题解集合,POJ(PKU)题解集合,ZOJ(zju)题解集合,UVA题解集合,九度OJ题解集合,LeetCode题解.

二叉树:二分查找树转化为排序的循环双链表寻找二叉树两个节点的最低公共祖先不使用递归和栈中序遍历二叉树

线性表:链表反转跳跃表(Skip List)-实现(Java)链表排序

分析:渐进分析循环的时间复杂度递归的时间复杂度

排序和查找:无处不在的二分查找 ,基数排序(Radix Sorting)计数排序-Counting Sort归并排序堆排序归并排序对链表进行排序快速排序的随机化和非递归实现 ,快速排序算法及分析0-n^2内的数排序对接近有序的数组排序

贪心算法:任务选择问题Kruskal最小生成树霍夫曼编码最小生成树Prim算法 ,

动态规划:重叠子问题的性质最优子结构的性质最长递增子序列最长公共子序列最小编辑距离(Edit Distance)最小花费路径硬币找零矩阵连乘二项式系数01背包问题扔鸡蛋问题(Egg Dropping Puzzle) ,划分问题最长回文子序列

数学相关:扩展欧几里得算法整数集合中找出3的最大倍数 , 阶乘末尾0的个数幸运数字卡特兰(Catalan)数巴比伦算法求平方根

位运算:能被3整除的数Single Number ISingle Number II判断两个数是否符号相反位运算做除法寻找缺失的数字

图论:BFS和DFS ,

回溯和剪枝骑士旅游问题分支限界法(1)分支限界法(2)分支限界法(3) ,n皇后问题N皇后问题2(优化) ,

分治最接近点对问题两个有序数组的中位数

模式匹配BF算法到KMP算法KMP算法(1)KMP匹配算法(2)优化有限自动机

高级算法遗传算法-入门旅行商(TSP)问题-遗传算法

数据结构

栈:包含min函数的栈

 

高级数据结构:字典树(Trie树)并查集并查集优化