• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            題目大意是求解快排最壞情況下的交換次數(shù),我們知道,快速排序在最壞情況下會退化為冒泡排序,因此快排最壞情況下的交換次數(shù)也就是冒泡排序?qū)慕粨Q次數(shù)。很容易想到這一題用冒泡排序,并記錄交換次數(shù)就行了。
            這樣做看似可行,其實是行不通的,數(shù)據(jù)量是500000,由于冒泡排序的時間復雜度是O(N^2),所以問題的規(guī)模就是500000^2=2.5 * E11,一般我們認為計算機每秒的計算量是E9,因此用冒泡排序是行不通的。
            聯(lián)想有關排序的算法,我們希望這一題的時間復雜度能夠降為O(NlogN),快排、堆排序、合并排序滿足這樣的要求,可是前兩種排序方式的交換方式毫無規(guī)律可循,只剩下歸并排序。
            我們來看歸并排序,它的核心是歸并(由Merge()函數(shù)實現(xiàn)),就是將兩個有序序列合并為一個有序序列。由冒泡排序我們知道,交換的總次數(shù)就是初始序列中每個元素交換次數(shù)的總和,每個元素的交換次數(shù)等于該元素后面比自己小的元素的個數(shù)(因為最終比自己小的元素都在自己前面)。
            下圖是一次Merge()過程:

            可以看出,元素“1”沒有移動,元素“4”向后移動了1位,元素“10”向后移動了3位,所以本次合并共移動了4次。統(tǒng)計合并排序過程中所有的移動次數(shù)即可。
            本題代碼如下


            有關合并排序請參閱:
            http://m.shnenglu.com/hoolee/archive/2012/07/18/184029.html
            posted on 2012-07-18 17:46 小鼠標 閱讀(266) 評論(0)  編輯 收藏 引用 所屬分類: 排序
            <2012年8月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            隨筆分類(111)

            隨筆檔案(127)

            friends

            最新評論

            閱讀排行榜

            久久香蕉国产线看观看精品yw| AV狠狠色丁香婷婷综合久久 | 久久亚洲国产精品成人AV秋霞| 色8激情欧美成人久久综合电| 久久人人青草97香蕉| 久久亚洲精品成人AV| 久久99精品久久久久久不卡| 伊人久久综合无码成人网| 久久久国产精品福利免费| 一级a性色生活片久久无少妇一级婬片免费放 | 欧美日韩精品久久免费| 久久精品99久久香蕉国产色戒 | 亚洲中文字幕伊人久久无码| 久久久久无码精品国产| 一本色道久久88综合日韩精品 | 久久久免费观成人影院| 久久天天躁狠狠躁夜夜96流白浆| 久久久精品无码专区不卡| 国产精品一区二区久久不卡| 中文字幕精品无码久久久久久3D日动漫| 色婷婷久久综合中文久久蜜桃av | 伊人久久大香线焦AV综合影院| 久久亚洲精品中文字幕三区| 亚洲精品乱码久久久久久 | 亚洲国产精品无码久久久久久曰| 久久99中文字幕久久| 日产精品99久久久久久| 一本一本久久a久久精品综合麻豆| 99久久婷婷国产一区二区| 久久99中文字幕久久| 久久精品蜜芽亚洲国产AV| 无码伊人66久久大杳蕉网站谷歌| 久久久久亚洲AV无码观看 | 亚洲国产另类久久久精品小说| 久久久WWW成人免费精品| 中文字幕久久欲求不满| 国产福利电影一区二区三区久久久久成人精品综合 | 欧美伊人久久大香线蕉综合69| 久久这里只有精品首页| 91精品国产色综久久| 久久九九免费高清视频|