• <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>

            牽著老婆滿(mǎn)街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            歸并排序算法

            合并排序(MERGE SORT)是又一類(lèi)不同的排序方法,合并的含義就是將兩個(gè)或兩個(gè)以上的有序數(shù)據(jù)序列合并成一個(gè)新的有序數(shù)據(jù)序列,因此它又叫歸并算法。它的基本思想就是假設(shè)數(shù)組A有N個(gè)元素,那么可以看成數(shù)組A是又N個(gè)有序的子序列組成,每個(gè)子序列的長(zhǎng)度為1,然后再兩兩合并,得到了一個(gè) N/2 個(gè)長(zhǎng)度為2或1的有序子序列,再兩兩合并,如此重復(fù),值得得到一個(gè)長(zhǎng)度為N的有序數(shù)據(jù)序列為止,這種排序方法稱(chēng)為2—路合并排序。

            例如數(shù)組A有7個(gè)數(shù)據(jù),分別是: 49 38 65 97 76 13 27,那么采用歸并排序算法的操作過(guò)程如圖7所示:

            初始值 [49] [38] [65] [97] [76] [13] [27]

            看成由長(zhǎng)度為1的7個(gè)子序列組成

            第一次合并之后 [38 49] [65 97] [13 76] [27]

            看成由長(zhǎng)度為1或2的4個(gè)子序列組成

            第二次合并之后 [38 49 65 97] [13 27 76]

            看成由長(zhǎng)度為4或3的2個(gè)子序列組成

            第三次合并之后 [13 27 38 49 65 76 97]

            圖6 歸并排序算法過(guò)程圖

            合并算法的核心操作就是將一維數(shù)組中前后相鄰的兩個(gè)兩個(gè)有序序列合并成一個(gè)有序序列。合并算法也可以采用遞歸算法來(lái)實(shí)現(xiàn),形式上較為簡(jiǎn)單,但實(shí)用性很差。

            合并算法的合并次數(shù)是一個(gè)非常重要的量,根據(jù)計(jì)算當(dāng)數(shù)組中有3到4個(gè)元素時(shí),合并次數(shù)是2次,當(dāng)有5到8個(gè)元素時(shí),合并次數(shù)是3次,當(dāng)有9到16個(gè)元素時(shí),合并次數(shù)是4次,按照這一X規(guī)律,當(dāng)有N個(gè)子序列時(shí)可以推斷出合并的次數(shù)是X(2 >=N,符合此條件的最小那個(gè)X)。
            源程序:
            program?hebing;?
            const?
            ??n
            =10;?
            var?
            ??a:array[
            1..n]?of?integer;?
            ??i:integer;?
            ?
            ?procedure?init;?
            ?var?
            ????i:integer;?
            ?begin?
            ?
            for?i:=1?to?n?do?read(a[i]);?
            ?readln;?
            ?end;?
            ?
            ?procedure?merge(low,mid,high:integer);?
            ?var?
            ?h,i,j,k:integer;?
            ?b:array[
            1..n]?of?integer;?
            ?begin?
            ?h:
            =low;?i:=low;?j:=mid+1;?
            ?
            while?(h<=mid)?and?(j<=high)?do?begin?
            ?
            if?(a[h]<=a[j])?then?begin
            ???b[i]:
            =a[h];?h:=h+1;?
            ?end?
            else?begin?
            ?b[i]:
            =a[j];?j:=j+1;?
            ?end;?
            ?i:
            =i+1;?
            ?end;?
            ?
            ?
            if?h>mid?then?
            ?
            for?k:=j?to?high?do?begin?
            ???b[i]:
            =a[k];?i:=i+1;
            ?end?
            else?
            ?
            for?k:=h?to?mid?do?begin?
            ?b[i]:
            =a[k];?i:=i+1;?
            ?end;?
            ?
            ?
            for?k:=low?to?high?do?a[k]:=b[k];
            ?end;?
            ?
            ?procedure?mergesort(low,high:integer);?
            ?var?
            ?mid:integer;?
            ?begin?
            ?
            if?low<high?then?begin?
            ?mid:
            =(low+high)?div?2;?
            ?mergesort(low,mid);?
            ?mergesort(mid
            +1,high);?
            ?merge(low,mid,high);?
            ?end;?
            ?end;

            posted on 2006-04-17 17:10 楊粼波 閱讀(816) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            人人狠狠综合久久88成人| 日本国产精品久久| 天天综合久久久网| 久久精品国产精品亚洲艾草网美妙 | 亚洲精品乱码久久久久久久久久久久| 狠狠综合久久AV一区二区三区| 久久男人Av资源网站无码软件 | 国产精品岛国久久久久| 色综合久久中文综合网| 久久免费99精品国产自在现线| 亚洲国产成人久久综合碰| 人人狠狠综合久久88成人| 亚洲成人精品久久| 久久国产精品无| 国产成人久久精品区一区二区| 久久久久人妻精品一区三寸蜜桃 | 亚洲第一永久AV网站久久精品男人的天堂AV| 亚洲国产日韩欧美综合久久| 久久亚洲AV成人无码电影| 久久精品这里只有精99品| 久久亚洲欧美国产精品| 久久精品亚洲福利| 俺来也俺去啦久久综合网| 久久九色综合九色99伊人| 国产精品99久久免费观看| 亚洲精品视频久久久| 国产精品毛片久久久久久久| 久久久SS麻豆欧美国产日韩| 国产成人精品久久一区二区三区av| 久久精品国产免费观看三人同眠| 亚洲狠狠综合久久| 久久夜色精品国产噜噜亚洲AV | 国产精品一区二区久久精品无码 | 欧美麻豆久久久久久中文| 久久久久AV综合网成人| 国内精品久久久久影院亚洲| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久精品黄AA片一区二区三区| 亚洲伊人久久成综合人影院| 999久久久国产精品| 国产精品久久精品|