因为它不会遍历k个数组中的每一个。第一个数组被遍历k-1次,第一个作为merge(array-1,array-2),第二个作为merge(merge(array-1,array-2),array-3)…依此类推。
结果是k-1合并,平均大小为n (k + 1)/ 2,给出的复杂度为O(n (k ^ 2-1)/ 2),即O(nk ^ 2)。
您犯的错误是忘记了合并是串行而不是并行进行的,因此数组的大小并非都为n。

因为它不会遍历k个数组中的每一个。第一个数组被遍历k-1次,第一个作为merge(array-1,array-2),第二个作为merge(merge(array-1,array-2),array-3)…依此类推。
结果是k-1合并,平均大小为n (k + 1)/ 2,给出的复杂度为O(n (k ^ 2-1)/ 2),即O(nk ^ 2)。
您犯的错误是忘记了合并是串行而不是并行进行的,因此数组的大小并非都为n。