亚洲情人网-亚洲情人-亚洲欧洲综合-亚洲欧洲自拍-欧美专区亚洲

堆排序代碼解析(堆排序的算法及代碼實現)

  • 生活
  • 2023-04-25 12:31

多條告白如次劇本只需引入一次

暫時這個系列的作品都挑著特殊典范的,讓人暫時一亮的算法,即日的堆排序算法即是個中一個。開始領會什么是堆,這內里堆(Heap)并不是步調中外存地區,而是一種實足二叉樹表白的數據構造。堆具備以次特性

是一個實足二叉樹堆的每個節點的值必需大于即是安排樹節點(大頂堆),或小于即是安排樹節點(小頂堆)。大略證明下,實足二叉樹是除去結果一層葉子節點外,其余的節點都有兩個子樹,而葉子節點不妨沒有子樹,大概惟有左子樹。如次圖即是個大頂堆:

小頂堆

堆保存

堆由于是實足二叉樹,特殊符合用數組保存,上海圖書館為大頂堆的保存情景,個中a[0]不必,a[1]為大頂堆的極點,也即是最大的數據,a[12]=7為左子樹極點,a[12+1]=6為右子樹的極點,其余節點情景順序類比。

堆的兩種操縱

向堆插入元素

用圖來表白如次:

向堆插入元素,先插入到結果一個數組元素場所,而后和本人的父節點6比擬,因為比6大不滿意大頂堆的前提,以是9和6調換,而后9再和堆頂元素8比擬,又不滿意大頂堆前提,連接調換,結果產生一個大頂堆,這個辦法叫堆化。

簡略堆頂元素

對于大頂堆來說,堆頂的元素為最大值,順序簡略堆頂元素并輸入,那么即是將數字從大向小陳設了。

這內里又個本領,即是簡略堆頂元素的功夫,不許徑直簡略,要用堆頂元素和結果一個元素做調換,而后按照堆的特性安排堆,直到滿意前提。

完備代碼如次:

packagecom.dianneng.lms;publicclassTestHeap{privateint[]a;privateintn;privateintcount;publicTestHeap(intcap){a=newint[cap+1];n=cap;count=0;}publicvoidswap(inti,intj){inttmp=a[i];a[i]=a[j];a[j]=tmp;return;}publicvoidprint(){for(inti=0;i<=count;i++){System.out.print(a[i]+"t");}}publicintinsert(intv){if(count==n){System.out.println("Heapisfull!");return-1;}else{a[++count]=v;inti=count;while(i/2>0&&a[i]>a[i/2]){swap(i,i/2);i=i/2;}}return0;}publicintremoveMax(){if(count==0){return-1;}System.out.print(a[1]+"t");a[1]=a[count];--count;heapify(count,1);return0;}privatevoidheapify(intn,inti){while(true){intmaxPos=i;//經過安排子樹極點比擬贏得最大數節點if(i*2<=n&&a[i]<a[i*2]){maxPos=i*2;}if(i*2+1<=n&&a[maxPos]<a[i*2+1]){maxPos=i*2+1;}//仍舊是最大的不必調換了if(maxPos==i){break;}//須要調換swap(i,maxPos);//i指向待調換的i=maxPos;}}publicstaticvoidmain(String[]args){TestHeapth=newTestHeap(18);th.insert(8);th.insert(7);th.insert(6);th.insert(5);th.insert(4);th.insert(3);th.print(

猜你喜歡

主站蜘蛛池模板: 精品福利在线播放 | 中文精品久久久久国产网站 | 日本欧美一区二区三区片 | 国产羞羞 | 亚洲不卡av不卡一区二区 | 亚洲四虎永久在线播放 | 成人区精品一区二区毛片不卡 | 亚洲情综合五月天 | www.丁香.com| 精品欧美成人高清视频在线观看 | 亚洲精品乱码久久久久 | 男人的天堂免费网站 | 最近更新在线观看视频3 | 小黄视频在线观看 | 欧美日韩v| 女男羞羞视频网站免费 | 色免费视频 | 亚洲福利视频一区二区三区 | 美女私密视频网站 | 日本高清视频一区二区三区 | 亚洲精品电影天堂网 | 亚洲永久中文字幕在线 | 亚洲美女福利视频 | 乱网站| 美女被羞羞产奶视频网站 | 亚洲人成电影在线观看网 | 欧美特黄视频 | 国产高清www免费视频 | 亚洲精品人成网在线播放影院 | 丁香花网| 久久66久这里精品99 | a久久99精品久久久久久不 | 在线黄色小视频 | 日日网| 亚洲精品国产成人99久久 | 国产欧美日韩精品在线 | 玖玖爱国产 | 一区二区三区欧美日韩 | 欧美视频一区在线观看 | 亚洲精品第四页中文字幕 | 午夜性刺激片免费观看成人 |