算法篇常见面试题清单

一、排序算法(Sorting)

冒泡排序(Bubble Sort)原理与优化方法

选择排序(Selection Sort)原理与实现

插入排序(Insertion Sort)原理与优化

快速排序(Quick Sort)原理、时间复杂度分析

归并排序(Merge Sort)原理与实现

堆排序(Heap Sort)原理与实现

桶排序(Bucket Sort)适用场景与实现

计数排序(Counting Sort)适用场景与实现

基数排序(Radix Sort)原理与实现

复制代码
## 稳定排序与不稳定排序的区别

二、查找算法(Searching)

顺序查找(Linear Search)

二分查找(Binary Search)及变种(查找左边界/右边界)

插值查找(Interpolation Search)

斐波那契查找(Fibonacci Search)

哈希查找(Hash Search)

在旋转排序数组中查找元素

在二维矩阵中查找元素

三、递归与分治(Recursion & Divide and Conquer)

递归的基本思想与应用场景

斐波那契数列的递归与优化

汉诺塔问题

归并排序的分治思想

快速排序的分治思想

二分查找的分治思想

矩阵的分治法求解

四、双指针与滑动窗口(Two Pointers & Sliding Window)

两数之和(Two Sum)

三数之和(3Sum)

四数之和(4Sum)

盛最多水的容器(Container With Most Water)

最长无重复子串(Longest Substring Without Repeating Characters)

最小覆盖子串(Minimum Window Substring)

移动零(Move Zeroes)

合并两个有序数组(Merge Sorted Array)

五、贪心算法(Greedy)

分发饼干(Assign Cookies)

跳跃游戏(Jump Game)

跳跃游戏 II(Jump Game II)

区间调度问题(Interval Scheduling)

合并区间(Merge Intervals)

加油站问题(Gas Station)

分配任务最小时间(Task Scheduling)

六、动态规划(Dynamic Programming)

爬楼梯(Climbing Stairs)

打家劫舍(House Robber)

打家劫舍 II(House Robber II)

最大子序和(Maximum Subarray)

最长递增子序列(Longest Increasing Subsequence)

最长公共子序列(Longest Common Subsequence)

编辑距离(Edit Distance)

不同路径(Unique Paths)

最小路径和(Minimum Path Sum)

复制代码
## 零钱兑换(Coin Change)
复制代码
## 分割等和子集(Partition Equal Subset Sum)
复制代码
## 买卖股票的最佳时机(Best Time to Buy and Sell Stock)

七、回溯算法(Backtracking)

全排列(Permutations)

组合总和(Combination Sum)

子集(Subsets)

N 皇后问题(N-Queens)

数独求解(Sudoku Solver)

单词搜索(Word Search)

电话号码的字母组合(Letter Combinations of a Phone Number)

八、图算法(Graph Algorithms)

深度优先搜索(DFS)

广度优先搜索(BFS)

拓扑排序(Topological Sort)

最短路径(Dijkstra、Bellman-Ford、Floyd-Warshall)

最小生成树(Prim、Kruskal)

岛屿数量(Number of Islands)

被围绕的区域(Surrounded Regions)

克隆图(Clone Graph)

九、数学与位运算(Math & Bit Manipulation)

最大公约数(GCD)与最小公倍数(LCM)

快速幂(Fast Power)

平方根(Sqrt(x))

判断质数(Prime Number Check)

只出现一次的数字(Single Number)

只出现一次的数字 II(Single Number II)

位运算实现加减乘除

位掩码的应用

✅ 总结

这份清单基本覆盖了 算法篇的所有常见面试题,从排序、查找到递归、双指针、贪心、动态规划、回溯、图算法、数学与位运算都有涉及。

建议你复习时:

先掌握排序、查找、双指针 → 高频且基础。

再攻克动态规划、回溯、图算法 → 面试加分项。

最后补充数学与位运算 → 提升算法思维。

相关推荐
一点 内容10 小时前
深度解析OurBMC后端模式:全栈技术架构与运维实践
java·开发语言
q***235710 小时前
MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互
java·数据库·mysql
合方圆~小文10 小时前
球型摄像机作为现代监控系统的核心设备
java·数据库·c++·人工智能
north_eagle11 小时前
向量搜索技术深度研究报告:架构原理、核心算法与企业级应用范式
算法·架构
椎49511 小时前
苍穹外卖资源点整理+个人错误解析-Day10-订单状态定时处理(Spring Task)、来单提醒和客户催单
java·后端·spring
Y***h18711 小时前
eclipse配置Spring
java·spring·eclipse
東雪木11 小时前
变量与数据类型
java·开发语言
p***629911 小时前
CVE-2024-38819:Spring 框架路径遍历 PoC 漏洞复现
java·后端·spring
Lisonseekpan11 小时前
Java分词器深度评测与实战指南
java·开发语言·后端
饕餮争锋11 小时前
Kotlin: [Internal Error] java.lang.NoSuchFieldError: FILE_HASHING_STRATEGY
java·kotlin