算法基础
1 基本思想
枚举
依次判断,类似于遍历。
三大关键:
解空间;
减少搜索空间;
采用合适搜索顺序。
2 递归思想
三大要点:
递归式;
递归出口;
界函数。
用栈替代递归:
3 动态规划(复习重点)
最长公共子序列
4 DFS
5 BFS
6 Binary Search & Greedy Algorithms
1 数据结构基础
线性结构
线性表(链表)
栈
队列
字符串:substring
非线性结构
1 树
二叉树
二叉搜索树,
Huffman树
min/max heap
priority queue
2 图
强连通分量
最短路径
最小生成树
基本算法分类
1 穷举法:一一枚举数据;顺序找k值
2 回溯,搜索:八皇后,树,图遍历
3 递归分治:二分找k值,快排,merge sort
4 贪心算法:huffman tree, 最短路径dijkstra算法,最小生成树prim算法
5 动态规划:最短路径floyd算法
2 高级数据结构与算法
排序
in-place sort
insert sort; select sort
merge sort;
bucket sort;
out-place sort
优点:价格低,信息不易丢失,portable;
缺点:very slowly r/w speed;
索引
静态索引
倒排索引