我正在阅读第三版算法简介中的多线程合并排序。但是,我对以下合并排序算法所需的处理器数量感到困惑:
MERGE-SORT(A, p, r)
1 if p < r
2 q = (p+r)/2
3 spawn MERGE-SORT(A, p, q)
4 MERGE-SORT(A, q + 1, r)
5 sync
6 MERGE(A, p, q, r)
MERGE 是标准的合并算法。现在这个算法需要多少处理器??虽然我假设它应该是 O(N),但是这本书声称它是 O(log n),为什么?请注意,我没有对 MERGE 过程进行多线程处理。一个例子的解释将非常有帮助。提前致谢。