数据结构
-
基础数据结构
- 数组
- 链表(单链表、双链表、循环链表)
- 栈
- 队列(普通队列、循环队列、优先队列)
-
树与图结构
- 二叉树
- 二叉搜索树
- 平衡树(如 AVL 树、红黑树)
- 堆(最大堆、最小堆)
- 图(有向图、无向图)
- 特殊树结构(如 Trie 树、B树、B+树)
-
高级数据结构
- 散列表(哈希表)
- 并查集
- 布隆过滤器
- 跳表
- 线段树
- 树状数组(二叉索引树)
算法
-
排序算法
- 冒泡排序
- 选择排序
- 插入排序
- 快速排序
- 归并排序
- 堆排序
- 希尔排序
- 计数排序
- 桶排序
- 基数排序
-
搜索算法
- 线性搜索
- 二分搜索
- 深度优先搜索(DFS)
- 广度优先搜索(BFS)
- A*搜索
- 启发式搜索
-
图算法
- 深度优先遍历(DFS)
- 广度优先遍历(BFS)
- 克鲁斯卡尔算法(最小生成树)
- 普里姆算法(最小生成树)
- 戴克斯特拉算法(最短路径)
- 贝尔曼-福特算法(最短路径)
- 弗洛伊德算法(多源最短路径)
-
动态规划
- 斐波那契数列
- 最长公共子序列
- 最长递增子序列
- 背包问题
- 矩阵链乘法
- 硬币找零问题
-
分治算法
- 归并排序
- 快速排序
- 二分搜索
- 大整数乘法
-
贪心算法
- 活动选择问题
- 哈夫曼编码
- 最小生成树
- 单源最短路径
-
其他算法
- 递归技巧
- 回溯算法
- 分支界限法
- 随机化算法
- 字符串匹配和处理(如 KMP 算法、Rabin-Karp 算法)