
算法通关训练营 · 归并排序篇(已并入旗舰课 469)
本课已并入《算法通关旗舰课:从链表到排序的 30 讲完整路径》(30 讲完整路径一条走完)。原付费学员仍可继续访问,建议前往 算法通关旗舰课 体验完整体系。
图:归并排序的递推式恰好落在主定理情况 2
归并排序是分治算法的“标准模板”。掌握它之后,快排、最近点对、计数逆序对都能复用同一套“分—合”骨架。下面给出通用分治模板,归并排序只是其中一种具体实例化。
def divide_and_conquer(problem):
if len(problem) <= 1: # 基线:子问题足够小
return solve_base(problem)
sub = split(problem) # 分:拆成独立子问题
results = [divide_and_conquer(s) for s in sub]
return combine(results) # 合:合并子结果
# 归并排序就是:split=对半切,combine=merge
图:算法通关训练营·排序篇的章节递进路线