【问题标题】:Analysis of insertion sort on an array with interleaved 1s and 0s1和0交错数组的插入排序分析
【发布时间】: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


    【解决方案1】:

    前面有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
    

    【讨论】:

      【解决方案2】:

      您将有n*(n+2)/8 移动。

      当您在位置i 插入任何0 时,您必须向右移动i/2 1s。任何1 都应该已经在正确的位置,因此不需要任何移动。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-13
        • 1970-01-01
        • 1970-01-01
        • 2017-01-16
        • 1970-01-01
        • 2021-03-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多