Medium
🔀 Sorting
Bubble Sort
永远不要发布到生产环境的低效排序。但相邻元素的交换能最好地教授边界条件。
时间: O(n²)
空间: O(1)
15 min
000
提升解决问题能力的工程师
开始算法思维。观察递归如何构建调用栈,实时查看排序,并最终理解为何Big O在生产环境中如此重要。
永远不要发布到生产环境的低效排序。但相邻元素的交换能最好地教授边界条件。
分治法。将数组分解并完美拼接的递归。快速且稳定的O(n log n)引擎。
选择基准,围绕它分区,递归。平均O(n log n),出色的缓存性能。
构建最大堆,按序提取元素。与快速排序不同,保证O(n log n)。
使用队列逐层探索图。在无权图中找到最短路径。
在回溯前尽可能深入探索。观看每个递归步骤中调用栈的增长。
中序、前序、后序。观察节点在同一棵树上以不同顺序被访问。
找到两个相加等于目标的数。看看哈希表如何将O(n²)变为O(n)。
使用栈匹配开闭括号。经典的栈应用面试题。
观看调用树呈指数级展开。理解为什么记忆化是必不可少的。