日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

堆排序的进一步理解

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 堆排序的进一步理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

堆-顧名思義,上面小,下面大,或者上面大,下面小。

在堆排序過程中,首先應該建堆。如何將數組中的元素建立成一個規范的堆行結構。

二叉堆是完全二叉樹或者是近似完全二叉樹。二叉堆滿足二個特性:

1.父結點的鍵值總是大于或等于(小于或等于)任何一個子節點的鍵值。

2.每個結點的左子樹和右子樹都是一個二叉堆(都是最大堆或最小堆)。

當父結點的鍵值總是大于或等于任何一個子節點的鍵值時為最大堆。當父結點的鍵值總是小于或等于任何一個子節點的鍵值時為最小堆

假設根結點的下標為1,則第 i 個結點的父結點下標為 i / 2 , 第 i 個結點的左子結點的下標為2*i, 右子結點的下標為2*i+1 ;

如何才能使得數組中元素形成堆的結構呢?首先將父結點、左子結點、右子結點這三個結點看成一個小堆或者一個小三角形,葉子結點無左子結點和右子結點,所以默認葉子結點為堆結構。則最后一個元素的父結點下標為 i/2, 從 i/2 開始,直到根結點為止,小三角形的面積逐漸增大,到根結點時達到最大,也就完成了堆的建立。

接下來進行的是堆排序操作,由于根結點元素為最大元素,每次先將根結點元素和最后一個元素調換,然后再調整堆即可,直到堆中元素只剩一個時結束,這樣數組中的元素就為有序的元素。具體代碼如下:

#include<stdio.h>void MaxHeap(int a[] , int i , int n) {int j ;a[0] = a[i] ;j = 2 * i ;while ( j <= n ) {if(j + 1 <= n && a[j + 1] > a[j])j++ ;if(a[0] >= a[j])break ;a[i] = a[j] ;i = j ;j = 2 * i ;}a[i] = a[0] ; }void MakeMaxheap(int a[] , int n ) {int i ;for(i = n / 2 ; i >= 1 ; i--)MaxHeap(a,i,n) ; } void swap(int &a , int &b) {int t = a ;a = b ;b = t ; } void Delete(int a[] , int n ) {swap(a[1],a[n]) ; // printf("%d\n",a[1]) ;MaxHeap(a,1,n-1) ; } int main() {int a[] = {0,16,4,10,14,7,9,3,2,8,1} ;MakeMaxheap(a,10) ;int i ;for(i = 1 ; i < 11 ; i++)printf("%d ",a[i]) ;printf("\n") ;return 0 ; }

轉載于:https://www.cnblogs.com/NYNU-ACM/p/4237401.html

總結

以上是生活随笔為你收集整理的堆排序的进一步理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 超碰在线网站 | 亚洲 欧美 中文字幕 | 日韩精品――色哟哟 | 日本不卡视频一区二区三区 | 一区二区三区在线免费播放 | 瑟瑟视频在线免费观看 | 日本欧美中文字幕 | 99riav国产精品 | 少妇高潮一区二区三区99小说 | 午夜视频免费在线观看 | 夜夜摸夜夜操 | 国产精品欧美在线 | 欧美91精品久久久久国产性生爱 | 国产在线播放网站 | 久久婷婷一区二区 | 免费69视频 | 日本色综合网 | 六月综合网 | 国产精品丝袜在线 | 美女网站一区 | 香蕉视频传媒 | 永久免费在线观看视频 | 色av综合网 | 91网页入口 | 最近最新中文字幕 | 操丝袜少妇 | 黄色网址你懂得 | 一区免费在线观看 | 中文字幕在线观 | 国产一区二区三区在线视频 | 亚欧三级 | 免费高清成人 | 91日韩欧美 | 和美女啪啪 | 在线免费看毛片 | 久久久国产精品黄毛片 | 国产高清黄色 | 亚洲av无码国产精品麻豆天美 | 综合激情婷婷 | 亚洲你我色 | 日日夜夜一区二区 | 欧美性色网站 | av地址在线观看 | 夜夜夜网 | 黄色动漫免费在线观看 | 中文字幕视频网站 | 国产极品美女在线 | 一区二区三区精品在线 | 蘑菇福利视频一区播放 | 亚洲人成人一区二区在线观看 | 在线中文字幕av | 中文成人无字幕乱码精品区 | 男人的天堂视频在线观看 | 午夜视频福利网站 | 国产精品va | 少妇高潮淫片免费观看 | 9.1成人免费看片 | 久久精品女人毛片国产 | 精品人妻无码一区二区三区换脸 | 久久久综合网 | 国产欧美一区二区三区在线看蜜臀 | 天堂av影院 | www.四虎在线| 18禁裸男晨勃露j毛免费观看 | 黄色片在线免费观看 | 户外露出一区二区三区 | 欧美极品少妇无套实战 | 国产精品美女一区二区 | 国产男女无套 | 亚洲视频精品一区 | 欧美一区2区三区4区公司 | 亚洲操片| 精品久久五月天 | 国产精品一区二区久久国产 | 中文字幕在线1 | 一区二区播放 | 91色视频 | 欧美日韩精品久久 | 丝袜国产在线 | 一级黄色免费观看 | 玖草视频在线观看 | 最近2019中文字幕大全第二页 | 国产精品无码av无码 | 91玉足脚交白嫩脚丫 | 99久久精品免费看 | 亚洲精品一二三 | 波多野结衣电车痴汉 | 国产女人在线 | 中文字幕在线视频一区二区 | 狠狠爱夜夜爱 | 亚洲精品粉嫩小泬 | 女性私密整形视频 | 国产欧美精品一区二区色综合 | 一区二区三区小视频 | av免费入口| 久久久久久久网 | 涩涩涩涩涩涩涩涩涩涩 | 久本草精品 | 欧美在线一级片 |