考研重点题目
栈
kmp
并查集
图
Dijkstra求最短路(√)
Dijkstra求最短路优化
bellman-ford求最短路
bellman-ford优化:spfa
拓扑排序(bfs/dfs两种)
Floyd求最短路(√)
prim求最小生成树(√)
krusal求最小生成树(√)
查找
排序
经典算法题目
数组
从未出现的最小整数
和为s的两个数
找出数组中重复的数字
不修改数组找出重复的数字
二维数组中的查找
旋转数组的最小数字
数字在排序数组中出现的次数
链表
两个链表的第一个公共结点
删除链表中重复的数(保留1个)
删除链表中重复的数(不保留)
重排链表
合并两个有序的链表
从尾到头打印链表
链表中环的入口结点
反转链表
栈
队列
树与二叉树
二叉树的深度(√)
二叉树的镜像(√)
对称的二叉树(√)
树的子结构(√)
平衡二叉树(√)
树的重心
二叉搜索树的第K个结点(√)
二叉树的带权路径长度
二叉搜索树的后序遍历序列
重建二叉树
二叉树中和为某一值的路径
二叉搜索树与双向链表
树中两个结点的最近公共祖先结点
表达式树
二叉树的下一个节点
不分行从上往下打印二叉树
分行从上往下打印二叉树
之字形打印二叉树
双指针
最长连续不重复子序列
数组元素的目标和
判断子序列
最小面积子矩阵
和为S的连续正数序列
二分
字符串处理
首字母大写(√)
字符串转换整数(√)
把字符串转化为整数
翻转单词顺序(√)
左旋转字符串(√)
DFS
排列数字(无重复数字)(√)
排列数字(含重复数字)(√)
n皇后
吃糖果(√)
矩阵中的路径(√)
求1+2+3+…+n(√)
BFS
走迷宫
八数码
图中点的层次
玛雅人的密码
等差数列(看思路就行)
机器人的运动范围
DP
01背包问题(√)
完全背包问题(√)
多重背包问题(√)
多重背包问题优化
分组背包问题(√)
数字三角形(√)
最长上升子序列(√)
最长上升子序列优化
最长公共子序列(√)
最短编辑距离(√)
编辑距离(√)
吃糖果(√)
最大序列和(√)
最长ZigZag子序列(√)
连续子数组的最大和(√)
把数字翻译成字符串(√)
礼物的最大价值(√)
骰子的点数
贪心
区间选点(√)
最大不相交区间数(√)
区间分组(√)
区间覆盖(√)
模拟
进制转换(√)
进制转换2
打印日期(√)
日期累加(√)
糖果分享游戏
平方矩阵②(√)
蛇形矩阵(√)
顺时针打印矩阵(√)
扑克牌的顺子(√)
股票的最大利润(√)
构建乘积数组(√)
和为S的两个数(√)
位运算
思维题
常用函数
s.substr(start, len)