一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

由快速排序到分治思想

 堂tj77m7tpne37 2018-01-12



   快速排序是一種基于分治思想的排序算法 它主要分為以下幾步

1、一個(gè)數(shù)組按切分元素分成兩個(gè)數(shù)組,一個(gè)數(shù)組是大于切分元素的,另一個(gè)數(shù)組是小于切分元素的,

2、然后將這兩個(gè)部分按上面的思路獨(dú)立排序。

3、并將有序的子數(shù)組歸并 得到一個(gè)完整的數(shù)組。

這中間的關(guān)鍵就在于切分。

           

代碼實(shí)現(xiàn)

public class Quick {

       private static void sort(Comparable[] a, int l0, int l1) {

              // TODO Auto-generated method stub

              if(l0 > l1) return;   //做基本的判斷

              int l2=partition(a,l0,l1);  //調(diào)用方法實(shí)現(xiàn)按切分 得到最終a所在位置

              sort(a,l0,l2-1);   //排序比a小的數(shù)組

              sort(a,l2 1,l1);   //排序比a大的數(shù)組

       }

       private static int partition(Comparable[] a, int l0, int l1) {  //定義切分方法

              int i=l0;   int j=l1 1; //定義左右指針

              Comparable  v=a[0];  //獲得切分元素

              while(true){   掃描左右

                     while(less(a[ i],v))  if(i==l1)  break;

//調(diào)用 less方法做判斷a[i] 和v 直到a[i]大于v時(shí) 或者 i 到數(shù)組末尾時(shí)才停止

                     while(less(v,a[j--])) if(j==l0)  break;

//調(diào)用 less方法做判斷a[j] 和v 直到a[j]小于v時(shí) 或者 i 到數(shù)組頭時(shí)才停止

                     if(i>j)  break;   //做判斷  如果作為切分調(diào)出循環(huán)

                     exch(a,i,j);   調(diào)用exch()方法來(lái)吧a[i]和a[j] 交換位置

              }

              exch(a,l0,j);   //調(diào)用exch()方法 將v放入正確的位置

              return j;

       }

}


快速排序的特性

復(fù)雜度 NlgN 空間復(fù)雜度 lgN 其運(yùn)行效率與切分元素值有關(guān)  一把在排序之前先隨機(jī)整個(gè)數(shù)組。 快速排序也是最快的通用排序算法。


分治思想理念                       

分治,字面上的解釋是“分而治之”,就是把一個(gè)復(fù)雜的問(wèn)題分成兩個(gè)或更多的相同或相似的子問(wèn)題。所以他有三個(gè)要點(diǎn)

1、劃分步:把輸入的問(wèn)題劃分為k個(gè)子問(wèn)題,并盡量使這k個(gè)子問(wèn)題的規(guī)模大致相同

2、治理步:調(diào)用處理方法來(lái)處理問(wèn)題。

3、組合步:組合步把各個(gè)子問(wèn)題的解組合起來(lái)。


從快速排序到分治

在快速排序中將一個(gè)數(shù)組按切分元素分成兩個(gè)數(shù)組就是在不同的劃分步。然后將這兩個(gè)部分按上面的思路獨(dú)立排序  這就是治理步。 最后將所有的子數(shù)組歸并到一個(gè)數(shù)組 就是組合步。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    九九热这里只有精品视频| 好吊妞视频只有这里有精品| 亚洲一区二区三区免费的视频| 老司机精品在线你懂的| 国产精品日韩精品最新| 日本不卡在线视频你懂的| 91日韩欧美中文字幕| 欧美日韩一区二区综合| 午夜日韩在线观看视频| 福利视频一区二区在线| 一区二区三区欧美高清| 亚洲国产另类久久精品| 欧美日韩国产精品第五页| 中文字幕高清不卡一区| 成人国产激情在线视频| 欧美成人精品一区二区久久| 欧美精品一区二区水蜜桃| 麻豆国产精品一区二区| 亚洲第一香蕉视频在线| av在线免费观看在线免费观看| 国产精品欧美日韩中文字幕| 国产精品午夜小视频观看| 偷自拍亚洲欧美一区二页| 国产福利一区二区三区四区| 亚洲av首页免费在线观看| 亚洲黄色在线观看免费高清| 日韩欧美一区二区不卡看片| 欧美成人黄色一区二区三区| 午夜精品久久久99热连载| 日本午夜乱色视频在线观看| 日韩成人中文字幕在线一区| 嫩呦国产一区二区三区av| 翘臀少妇成人一区二区| 国产二级一级内射视频播放| 在线免费看国产精品黄片| 国产日韩熟女中文字幕| 日韩中文高清在线专区| 91偷拍裸体一区二区三区| 熟女高潮一区二区三区| 午夜国产成人福利视频| 日本男人女人干逼视频|