【发布时间】:2015-07-16 11:20:12
【问题描述】:
与插入排序的 N/2 个 1 与 N/2 个 0 交错的数组的比较次数是多少(例如,1 0 1 0 1 0 1 0 1 0)? 关键在于计算反转的次数。但我不认为我算对了。
【问题讨论】:
标签: algorithm performance big-o insertion-sort big-theta
与插入排序的 N/2 个 1 与 N/2 个 0 交错的数组的比较次数是多少(例如,1 0 1 0 1 0 1 0 1 0)? 关键在于计算反转的次数。但我不认为我算对了。
【问题讨论】:
标签: algorithm performance big-o insertion-sort big-theta
前面有i 的零,后面有n/2 - i 的零。答案是
n/2-1 n/2
sum (n/2 - i) = sum j = (n/2 + 1) (n/2) / 2.
i=0 j=1
【讨论】:
您将有n*(n+2)/8 移动。
当您在位置i 插入任何0 时,您必须向右移动i/2 1s。任何1 都应该已经在正确的位置,因此不需要任何移动。
【讨论】: