試卷征集
加入會(huì)員
操作視頻

二叉樹是每個(gè)結(jié)點(diǎn)最多有兩個(gè)子樹的樹結(jié)構(gòu),如值為9的結(jié)點(diǎn)有兩個(gè)子樹6和8,值為6的結(jié)點(diǎn)有兩個(gè)子樹5和3.若設(shè)二叉樹的深度為h,則除第h層外,其它各層(1~h-1)的結(jié)點(diǎn)數(shù)都達(dá)到最大個(gè)數(shù),第h層所有的結(jié)點(diǎn)都連續(xù)集中在最左邊,這就是完全二叉樹。現(xiàn)要構(gòu)造大根堆,堆是一棵順序存儲(chǔ)的完全二叉樹,大根堆又是一種特殊的堆,它的特征是每個(gè)雙親結(jié)點(diǎn)的值都不小于其孩子結(jié)點(diǎn)的值。如下圖所示,值為9的結(jié)點(diǎn)是6和8的雙親結(jié)點(diǎn),而6和8分別是9的左孩子和右孩子;同理,6是5和3的雙親結(jié)點(diǎn),而5和3分別是6的左孩子和右孩子……
菁優(yōu)網(wǎng)
假如我們1{J數(shù)組表示上述大根堆:
a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9)
9 6 8 5 3 4 7 2 1
現(xiàn)有一算法把一個(gè)無序數(shù)組改造成大根堆。例如:我們在上圖的大根堆中再增加一個(gè)值為8的新元素,如下圖所示。
菁優(yōu)網(wǎng)
數(shù)組存儲(chǔ)為:
a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10)
6 8 5 3 4 7 2 1 8
具體操作方法如下:
菁優(yōu)網(wǎng)
第一步:因?yàn)閍(10)大于它的雙親結(jié)點(diǎn)a(5),故需交換a(10)和a(5)的值;
數(shù)組存儲(chǔ)為:
第二步:因?yàn)閍(5)大于它的雙親結(jié)點(diǎn)a(2),故需交換a(5)和a(2)(t)值;
a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10)
6 8 5 8 4 7 2 1 3
菁優(yōu)網(wǎng)
數(shù)組存儲(chǔ)為:
a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10)
9 8 8 5 6 4 7 2 1 3
第3步:因?yàn)閍(2)不大于它的雙親結(jié)點(diǎn)a(1),故無需做交換操作。此時(shí)新元素已經(jīng)放到了正確的位置,新的大根堆構(gòu)造完成,上移行動(dòng)結(jié)束。
(1)若在第16題圖中增加值為4的新元素,則元素4將被存儲(chǔ)在數(shù)組元素
a(5)
a(5)
中。
(2)小段為此編制一VB程序:在文本框Tcxt1中輸入結(jié)點(diǎn)個(gè)數(shù)n,單擊命令按鈕Command1,隨機(jī)產(chǎn)生n個(gè)[1,99]的整數(shù)作為結(jié)點(diǎn)值,并由此構(gòu)造大根堆,結(jié)果顯示在列表框List1中,程序運(yùn)行界面如圖所示。
菁優(yōu)網(wǎng)
實(shí)現(xiàn)上述功能的程序代碼如下。請(qǐng)?jiān)跈M線處填入合適的代碼。
a(p)>a(f)
a(p)>a(f)

k=k/2或k=k\2
k=k/2或k=k\2

2^i
2^i

菁優(yōu)網(wǎng)
菁優(yōu)網(wǎng)

【答案】a(5);a(p)>a(f);k=k/2或k=k\2;2^i
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:0引用:1難度:0.3
相似題
  • 1.有如下VB程序段:
    菁優(yōu)網(wǎng)
    執(zhí)行該程序段后,變量c的值是(  )

    發(fā)布:2024/12/16 5:0:1組卷:1引用:2難度:0.3
  • 菁優(yōu)網(wǎng)2.小明用python語言中對(duì)大小為100*100像素的圖像“上.jpg”(如圖所示)進(jìn)行簡單處理,部分代碼如圖:
    菁優(yōu)網(wǎng)
    程序執(zhí)行后的圖像效果是( ?。?/h2>

    發(fā)布:2024/12/20 9:30:2組卷:3引用:5難度:0.4
  • 3.由大寫字母組成的長度相同的兩個(gè)字符串s1和s2,檢測各字母的數(shù)量,如“ABDAC”與“AABCD”所含字母數(shù)量一樣,與“AABBC”所含字母數(shù)量不一樣。實(shí)現(xiàn)該功能的VB程序段如下:
    菁優(yōu)網(wǎng)
    填空處的代碼可以由以下部分組成:
    ①Text2.Text ②val(Text2.Text) ③b(a)=b(a)+1 ④b(a)=b(a)-1 ⑤b(i)<>0⑥b(i)=0
    代碼順序正確的是( ?。?/h2>

    發(fā)布:2024/12/16 9:30:1組卷:3引用:3難度:0.4
小程序二維碼
把好題分享給你的好友吧~~
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
本網(wǎng)部分資源來源于會(huì)員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請(qǐng)立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正