算法设计
一、分治法
递归,找最大值最小值,整数相乘,归并排序,快速排序,线性时间选择,最近点对问题
二、动态规划
0-1背包问题 ,矩阵相乘问题,装配线调度问题,最长公共子序列,最优二分检索树,凸多边形最优三角剖分
三、贪心法
背包问题,活动选择问题,哈夫曼编码,最小生成树算法(Kruskal 和 Prim)
四、回溯法
n皇后问题,子集和数问题,0-1背包问题,旅行商问题,着色问题
五、图算法
图的表示,广度深度优先搜索,Dijkstra算法
1. 链表- 反转链表,链表交换相邻元素,链表判断是否有环
2. 堆栈,队列- 20
3. 优先队列-239,703
4. 哈希表-1,242,15,18
5. 二叉树与二叉搜索树-98,235,236
6. 递归与分治-50,169
7. 贪心算法-122
8. 广度优先搜索和深度优先搜索-22,102,104,111
9. 剪枝-51,51,36,37
10. 二分查找-69
11. 字典树-79,208,212
12. 位运算-191,231,338
13. 动态规划-70,72,120,121,122,123,152,188,300,322,309,714
14. 并查集-200,547
https://blog.csdn.net/weixin_43444439/article/details/90604237