【发布时间】:2018-10-13 12:08:34
【问题描述】:
我们可以将插入排序表示为递归过程,如下所示。在 排序。为了对 A[1..n] 进行排序,我们递归地对 A[1..n−1] 进行排序 然后将 A[n] 插入已排序的数组 A[1..n−1]。写一个 此递归版本插入的运行时间的重复 排序。
很明显,对数组进行排序需要 T(n-1) 次(因为我们不需要对最后一个元素进行排序)。但我不明白为什么将元素插入排序数组需要 O(n)。
假设我们有一个数组:A = 41;52;26;38;57;9;49. 最坏的情况是,我们必须遍历整个数组才能在数组开头插入最后一个元素 n。但我认为这需要 O(n-1) 时间,因为我们遍历数组中的 n-1 个元素。
你能解释一下我的错误和正确答案的逻辑吗?
【问题讨论】: