(其中加粗字体是考试出现频率较高的类型。)
算法类
1.基本:
数组 字符串 排序 矩阵 模拟 枚举 字符串匹配 桶排序 计数排序 基数排序
2.算法:
动态规划 深度优先探索 广度优先探索 贪心 二分查找 回溯 递归 分治 记忆化搜索 快速选择 归并排序
3.其他:
数据库 设计 数据流 交互 脑筋急转弯 迭代器 多线程 shell
数据结构类
1.基础数据结构:
哈希表 树 二叉树 栈 堆(优先队列) 图 链表 二叉搜索树 单调栈 队列
有序集合 拓扑排序 最短路 双向链表 单调队列 最小生成树 强连通分量 欧拉回路 双连通分量
2.高级数据结构:
并查集 字典树 线段树 树状数组 后缀数组
(大多数问题都可以用以下六种算法和六种数据结构解决,要熟稔于心,避免考试现想现编。)
常用六种算法:
1.深度优先、广度优先搜索(DFS,BFS)
2.递归、回溯(backtracking)
3.滑动窗口/双指针
4.单调栈(MonotoneStack)
5.排序(sort 【多维排序-Comparator】)
6.线段树(SegmentTree)
常用六种数据结构:
1.栈(ArrayDeque)
2.队列(LinkedList)
3.优先级队列(PriorityQueue)
4.Map(HashMap, TreeMap)
5.二叉树
6.图的表示
yo peace!
网友评论