【发布时间】:2022-01-06 14:11:11
【问题描述】:
如果选择排序在数组上迭代 n 次,其中 n 是数组的长度,每次迭代的比较次数比上一次少 1 次(第一次迭代有 n 次比较),那么选择排序的复杂度是 n ^2 而不是 n!(n 阶乘)?
【问题讨论】:
-
我们第一次遍历数组时,需要进行 n-1 次比较。第二次,n-2 次比较。第三次,n-3 次比较。等等。最后比较的总数是 n-1 + n-2 + n-3 + ... + 3 + 2 + 1 = n * (n - 1) / 2
标签: sorting time-complexity big-o selection-sort