中大數(shù)據(jù)結(jié)構(gòu)(C)其次次作業(yè)答案_第1頁
中大數(shù)據(jù)結(jié)構(gòu)(C)其次次作業(yè)答案_第2頁
中大數(shù)據(jù)結(jié)構(gòu)(C)其次次作業(yè)答案_第3頁
中大數(shù)據(jù)結(jié)構(gòu)(C)其次次作業(yè)答案_第4頁
中大數(shù)據(jù)結(jié)構(gòu)(C)其次次作業(yè)答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——中大數(shù)據(jù)結(jié)構(gòu)(C)其次次作業(yè)答案數(shù)據(jù)結(jié)構(gòu)其次次作業(yè)答案

學(xué)號:姓名:評分:.一.單項(xiàng)選擇題(20分)

()1.某二叉樹的先序序列和后序序列正好相反,則該二叉樹一定是____b____的二叉樹。

a.空或只有一個結(jié)點(diǎn)b.高度等于其結(jié)點(diǎn)數(shù)(空樹高度為0)c.任一結(jié)點(diǎn)無左孩子d.任一結(jié)點(diǎn)無右孩子

()2.設(shè)圖的頂點(diǎn)數(shù)=n,邊數(shù)=e,若用鄰接表表示圖,那么求最短路徑的Dijkstra算法的時間繁雜

度為_____b____。

a.O(n*e)b.O(n2)c.O(n+e)d.O(n3)

()3.一棵左右子樹均不為空的二叉樹在后序線索化后(不帶頭結(jié)點(diǎn)的線索化),其空指針域數(shù)為

____b_____。

a、0b、1c、2d、不確定()4.下面程序段的時間繁雜度是____d_____。

i=1;while(i0)個結(jié)點(diǎn)且為完全二叉樹的二叉排序樹中查找一個鍵值,其平均比較次數(shù)的數(shù)量級

為_____b______。

a.O(n)b.O(log2n)c.O(nlog2n)d.O(n2)

()6.采用分塊查找時,若線性表中共有625個元素,查找每個元素的概率一致,假設(shè)采用順序

查找來確定結(jié)點(diǎn)所在的塊時,每塊應(yīng)分為____b____個結(jié)點(diǎn)最正確。a.10b.25c.6d.625

()7.以下排序算法中時間繁雜度不受數(shù)據(jù)初始狀態(tài)影響,恒為O(n2)的是____c______。

a、堆排序b、起泡排序c、直接選擇排序d、快速排序

()8.已知數(shù)據(jù)表中的每個元素距其最終位置不遠(yuǎn),則采用____b___排序算法最省時間。

a.堆排序b.插入排序c.快速排序d.直接選擇排序

()9.假設(shè)圖的頂點(diǎn)數(shù)=n,邊數(shù)=e,那么當(dāng)用鄰接表表示圖時,拓?fù)渑判蛩惴ǖ臅r間繁雜度為

____b_____。

a.O(n2)b.O(n+e)c.O(n*e)d.O(n3)

()10.一棵左子樹為空的二叉樹在先序線索化后(不帶頭結(jié)點(diǎn)的線索化),其中的空鏈域的個數(shù)

為____a_____。

a.2b.1c.0d.不確定二.填空作圖簡答題(共62分):1.依次插入30,43,21,9,15,51并由空樹構(gòu)成一棵平衡二叉樹,畫出該平衡二叉樹形成過程及其中序線索二叉樹。

3030302143214399219215143154315433030301

2.有一組關(guān)鍵碼序列{40,20,60,15,50,45,95,10,75},采用Shell排序方法從小到大進(jìn)

行排序,假設(shè)其間隔序列為5,3,1,請寫出每趟的結(jié)果。答案:

第1趟:40,20,10,15,50,45,95,60,75第2趟:15,20,10,40,50,45,95,60,75第3趟:10,15,20,40,45,50,60,75,95

3.對下面的3階B樹依次插入關(guān)鍵碼60,14,6,畫出插入三個關(guān)鍵碼后并刪除關(guān)鍵碼20后的

結(jié)果。20

1040

2812163050

4.用Prim算法求下圖的最小生成樹,若從頂點(diǎn)0出發(fā),請將算法中的輔助數(shù)組closedge的變化過

程填入下表。

16053

選出第1條邊3122587

輔助數(shù)組closedge647486557

adjvex

5

6701234所選邊2

lowcostadjvex選出第2條邊lowcostadjvex選出第3條邊lowcostadjvex選出第4條邊lowcostadjvex選出第5條邊lowcostadjvex選出第6條邊lowcostadjvex選出第7條邊lowcost

5.假設(shè)某森林的先根遍歷序列為EBADCFHGIKJ和中根遍歷序列為ABCDEFGHIJK。請畫出該

森林的帶雙親的孩子鏈表示。

6.已知9個結(jié)點(diǎn)的值分別為1~9,請將各結(jié)點(diǎn)的值填入下面二叉排序樹中:

5193647827.用堆排序算法(“最大堆〞排序算法)對關(guān)鍵字{70,33,79,67,46,24,30,40}進(jìn)行排序,

請先建“最大堆〞,然后輸出一個堆頂元素,并調(diào)整成堆:初始狀態(tài){40,33,24,67,46,79,30,70}所建大頂堆{79,70,40,67,46,24,30,33}或{79,70,67,46,40,24,30,33}輸出一個堆頂元素后調(diào)整的結(jié)果{70,67,40,33,46,24,30,79}或{70,46,67,33,40,24,30,79}

3

8.如下圖已知哈希表為空,哈希函數(shù)為H(Key)=KeyMOD11,沖突解決方法分別用線性探測

再散列和二次探測再散列。填入在依次插入關(guān)鍵字14,37,25,16之后的狀況,并求等概率狀況下所要求的平均查找長度。

(1)線性探測再散列

01234567891014372516(2)二次探測再散列

01234567891025143716

線性探測再散列查找不成功時的平均查找長度=____21/11_;二次探測再散列查找成功時的平均查找長度=___6/4=3/2=1.5_;

9.用快速排序?qū)σ韵玛P(guān)鍵字進(jìn)行排序(圖示),基準(zhǔn)元素取第一個元素。7033796746243040寫出兩趟排序的結(jié)果。第一趟排序之后:{40,33,67,46,24,30}70{79}或{40,33,30,67,46,24}70{79};其次趟排序之后:{30,33,24}40{67,46}70,79或{24,33,30}40{46,67}70,79;若基準(zhǔn)元素按“三者取中〞的原則取,則兩趟排序的結(jié)果是:

第一趟排序之后:{40,33,46,24,30}67{79,70}或{33,40,30,24,46}67,{70,79};其次趟排序之后:{30,33,24}40{46}67,70,79或{24,30}33{40,46}67,70,79;

10.已知一字符串bcbdebcecbdcabd,試設(shè)計其赫夫曼編碼并畫出相應(yīng)的赫夫曼樹。a:1;b:5;c:4;d:3;e:2;dbbcdc

aeae

11.求出下圖中頂點(diǎn)A到其余個頂點(diǎn)的最短路徑和最短路徑長度。

4

27A109E20B37F889C6G13D1HAE=10;AF=17;AB=19;AG=25;AC=26;AD=27;AH=28

三.程序填空(18分)

1.下面是僅給出了部分操作的二叉樹類的定義和實(shí)現(xiàn)。試在程序的每一劃線部分填入一條語

句或表達(dá)式,完成計算度為1的結(jié)點(diǎn)個數(shù)的操作countNodes1()。

typedefstructBinNode{intdata;

structBinNode*leftchild,*rightchild;}BinNode,*BinTree;

voidInitBinTree(BinTree}

voidDestroyBinTree(BinTree

DestroyBinTree(root->leftchild);DestroyBinTree(root->rightchild);free(root);}

intcountNodes1(BinTreeelseif(root->leftchild==NULLelseif(root->leftchild!=NULL}

return0;}

5

92.下面是起泡排序算法的實(shí)現(xiàn)。試在程序的每一劃線部分填入一條語句或表達(dá)式,以使該算

法在發(fā)現(xiàn)數(shù)據(jù)有序時能及時中止。

voidBubbleSort(intdatalist[],intsize)//要排序的數(shù)據(jù)存放在數(shù)組datalist[]中,元素個數(shù)=size{

intexchange,i,j,temp;i=1;

exchange=1;

while(i=i;j--)

if(datalist[j-1]>datalist[j])

{

temp=datalist[j-1];datalist[j-1]=datalist[j];datalist[j]=temp;

____⑩___exchange=1_______;}

i++;}}

6

2.下面是起泡排序算法的實(shí)現(xiàn)。試在程序的每一劃線部分填入一條語句或表達(dá)式,以使該算

法在發(fā)現(xiàn)數(shù)據(jù)有序時能及時中止。

voidBubbleSort(intdatalist[],intsize)//要排序的數(shù)據(jù)存放在數(shù)組datalist[]中,元素個數(shù)=size{

intexchange,i,j,temp;i=1;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論