算法分类
请选择一个算法分类,开启你的可视化学习之旅。
LeetCode 热题 100
LeetCode 官方精选的 100 道高频面试题,涵盖各类核心算法与数据结构。
数组
数组相关的基础与进阶算法,包含双指针、滑动窗口等技巧。
链表
链表的增删改查、反转、合并、环检测等经典操作。
哈希表
利用哈希表解决查找、去重、计数等问题。
字符串
字符串匹配、子串搜索、回文判断等问题。
双指针法
快慢指针、对撞指针等技巧解决数组和链表问题。
栈与队列
栈和队列的基本操作及其在算法中的应用。
二叉树
二叉树的遍历、构造、路径等问题。
回溯算法
排列组合、子集生成、N皇后等回溯类问题。
贪心算法
局部最优解推导全局最优的经典贪心问题。
动态规划
状态转移、记忆化搜索、背包问题等DP经典题型。
单调栈
利用单调栈解决下一个更大/更小元素等问题。
图论
图遍历、最短路径、连通性等经典问题。
二分查找
在有序数组中快速查找目标值或边界,时间复杂度O(log n)。
堆与优先队列
利用堆结构实现高效的最值查找和动态排序。
前缀和与差分
处理区间和查询与区间批量更新的高效技巧。
位运算
利用位操作进行高效计算、状态压缩和权限管理。
排序与区间
排序、区间合并/插入、扫描线、会议室与重叠区间等经典题型。
并查集
用于动态连通性、集合合并、冗余边检测、岛屿/朋友圈等问题。
Trie(字典树)
前缀检索、字符串集合匹配、单词搜索、最大异或等典型结构题。
线段树与树状数组
动态区间查询/更新:区间和、最值、逆序对、离线查询等。
分治
递归拆分问题规模:归并思想、分治计数、快速选择等。
数学与数论
gcd/lcm、快速幂、模运算、质数筛、组合计数等题型。