• <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://www.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

            最新評論

            閱讀排行榜

            91精品国产综合久久四虎久久无码一级 | 久久精品一区二区三区中文字幕| 亚洲综合熟女久久久30p| 无码八A片人妻少妇久久| 乱亲女H秽乱长久久久| 一本久久a久久精品综合夜夜| 蜜桃麻豆www久久| 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲人AV永久一区二区三区久久 | 日本免费久久久久久久网站| 国产真实乱对白精彩久久| 狠狠综合久久AV一区二区三区 | 久久99久久无码毛片一区二区| 天天影视色香欲综合久久| 久久婷婷五月综合色奶水99啪| 91精品日韩人妻无码久久不卡 | 99久久免费国产特黄| 亚洲精品99久久久久中文字幕| 精品国际久久久久999波多野| 国产精品一区二区久久精品无码 | 天天影视色香欲综合久久| 国产精品对白刺激久久久| 久久精品桃花综合| 精品久久久久久久中文字幕| 日韩人妻无码精品久久免费一| 亚洲国产精品无码久久青草| 国产亚洲成人久久| 国产欧美久久久精品| 国内精品久久久久伊人av | 久久久久成人精品无码中文字幕 | 最新久久免费视频| 久久九九久精品国产免费直播| 精品久久久久久久无码 | 国内精品久久久久国产盗摄| 99久久免费国产特黄| 久久久精品人妻一区二区三区蜜桃| 色天使久久综合网天天| 日本久久中文字幕| 伊人色综合久久天天网| 伊人 久久 精品| 久久只有这里有精品4|