一、常见算法
1、排序算法
1 插入排序
2 快排
优化方式:尾递归,三数取中,小区间用插入排序
3 堆排序
i=n/2时 子数组i+1 到n是叶子节点
4 归并排序
merge(p,r) L(p, q) R(q, r)
2、动态规划
3、贪心算法
4、DFS与BFS
白色、灰色、黑色
5、KMP
匹配失败时原串不回溯,模式串根据next数组回溯。next数组根据模式串自身最大相同前缀后缀求得。
二、数据结构
1、链表
内核链表实现、redis链表实现、libevent实现
2、哈希表
字符串BKRD hash算法
3、红黑树
5点性质,左旋右旋,插入的6种情况(对称的3种)
4、B树B+树
磁盘存取与数据库索引