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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

数据结构练习题——树和二叉树(含应用题)

發(fā)布時間:2023/12/16 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构练习题——树和二叉树(含应用题) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.選擇題

1)把一棵樹轉(zhuǎn)換為二叉樹后,這棵二叉樹的形態(tài)是(?? )。?????????????

A唯一的 ?????????????????????????B.有多種

C.有多種,但根結(jié)點都沒有左孩子??? D.有多種,但根結(jié)點都沒有右孩子

答案:A

解釋:因為二叉樹有左孩子、右孩子之分,故一棵樹轉(zhuǎn)換為二叉樹后,這棵二叉樹的形態(tài)是唯一的。

2由3個結(jié)點可以構(gòu)造出多少種不同的二叉樹?(??? )

A.2????? ????B.3??????? ?????C.4????? ????D.5??

答案:D

解釋:五種情況如下:

?? ?? ??????????????????

3一棵完全二叉樹上有1001個結(jié)點,其中葉子結(jié)點的個數(shù)是(? )

A.250?? ??????B. 500??? ??????C.254??? ????D.501 ??

答案:D

解釋:設(shè)度為0結(jié)點(葉子結(jié)點)個數(shù)為A,度為1的結(jié)點個數(shù)為B,度為2的結(jié)點個數(shù)為C,有A=C+1,A+B+C=1001,可得2C+B=1000,由完全二叉樹的性質(zhì)可得B=0或1,又因為C為整數(shù),所以B=0,C=500,A=501,即有501個葉子結(jié)點。

4一個具有1025個結(jié)點的二叉樹的高h為(? )

A.11????? ????B.10??? ?????????C.11至1025之間?? ????D.10至1024之間

答案:C

解釋:若每層僅有一個結(jié)點,則樹高h為1025;且其最小樹高為??log21025??+?1=11,即h111025之間。

5深度為h的滿m叉樹的第k層有(? )個結(jié)點。(1=<k=<h)

A.mk-1 ?????????B.mk-1?????? ?????C.mh-1???? ???D.mh-1

答案:A

解釋:深度為h的滿m叉樹共有mh-1個結(jié)點,第k層有mk-1個結(jié)點。

6利用二叉鏈表存儲樹,則根結(jié)點的右指針是(? )

A.指向最左孩子??????? B.指向最右孩子??? ?????C.空 ???????D.非空

答案:C

解釋:利用二叉鏈表存儲樹時,右指針指向兄弟結(jié)點,因為根節(jié)點沒有兄弟結(jié)點,故根節(jié)點的右指針指向空。

7對二叉樹的結(jié)點從1開始進行連續(xù)編號,要求每個結(jié)點的編號大于其左、右孩子的編號,同一結(jié)點的左右孩子中,其左孩子的編號小于其右孩子的編號,可采用(? )遍歷實現(xiàn)編號。

A.先序???????? B. 中序????? ?????C. 后序 ??????D. 從根開始按層次遍歷

答案:C

解釋:根據(jù)題意可知按照先左孩子、再右孩子、最后雙親結(jié)點的順序遍歷二叉樹,即后序遍歷二叉樹。

8若二叉樹采用二叉鏈表存儲結(jié)構(gòu),要交換其所有分支結(jié)點左、右子樹的位置,利用(? )遍歷方法最合適。

A.前序??? ?????B.中序????? ??????C.后序? ????D.按層次

答案:C

解釋:后續(xù)遍歷和層次遍歷均可實現(xiàn)左右子樹的交換,不過層次遍歷的實現(xiàn)消耗比后續(xù)大,后序遍歷方法最合適。

9在下列存儲形式中,(? )不是樹的存儲形式?

A.雙親表示法 ??B.孩子鏈表表示法 ??C.孩子兄弟表示法 ??D.順序存儲表示

答案:D

解釋:樹的存儲結(jié)構(gòu)有三種:雙親表示法、孩子表示法、孩子兄弟表示法,其中孩子兄弟表示法是常用的表示法,任意一棵樹都能通過孩子兄弟表示法轉(zhuǎn)換為二叉樹進行存儲。

10一棵非空的二叉樹的先序遍歷序列與后序遍歷序列正好相反,則該二叉樹一定滿足(? )

A.所有的結(jié)點均無左孩子?????? ?B.所有的結(jié)點均無右孩子

C.只有一個葉子結(jié)點? ??????????D.是任意一棵二叉樹

答案:C

解釋:因為先序遍歷結(jié)果是“中左右”,后序遍歷結(jié)果是“左右中”,當沒有左子樹時,就是“中右”和“右中”;當沒有右子樹時,就是“中左”和“左中”。則所有的結(jié)點均無左孩子或所有的結(jié)點均無右孩子均可,所以A、B不能選,又所有的結(jié)點均無左孩子與所有的結(jié)點均無右孩子時,均只有一個葉子結(jié)點,故選C。

(11)設(shè)哈夫曼樹中有199個結(jié)點,則該哈夫曼樹中有(??? )個葉子結(jié)點。

A.99? ?????????????????????? B.100

C.101 ?????????????????????? D.102

答案:B

解釋:在哈夫曼樹中沒有度為1的結(jié)點,只有度為0(葉子結(jié)點)和度為2的結(jié)點。設(shè)葉子結(jié)點的個數(shù)為n0,度為2的結(jié)點的個數(shù)為n2,由二叉樹的性質(zhì)n0=n2+1,則總結(jié)點數(shù)n= n0+n2=2*n0-1,得到n0=100。

12若X是二叉中序線索樹中一個有左孩子的結(jié)點,且X不為根,則X的前驅(qū)為(? )

A.X的雙親? ????????????????????B.X的右子樹中最左的結(jié)點

C.X的左子樹中最右結(jié)點 ?????????D.X的左子樹中最右葉結(jié)點

答案:C

13引入二叉線索樹的目的是(? )

A.加快查找結(jié)點的前驅(qū)或后繼的速度? ??B.為了能在二叉樹中方便的進行插入與刪除

C.為了能方便的找到雙親???? ?????????D.使二叉樹的遍歷結(jié)果唯一

答案:A

(14)設(shè)F是一個森林,B是由F變換得的二叉樹。若F中有n個非終端結(jié)點,則B中右指針域為空的結(jié)點有(?? )個。

A.n?1???????? B.n??????? C.n + 1??? ??????? D.n + 2

答案:C

(15)n(n≥2)個權(quán)值均不相同的字符構(gòu)成哈夫曼樹,關(guān)于該樹的敘述中,錯誤的是(?)。

A.該樹一定是一棵完全二叉樹

B.樹中一定沒有度為1的結(jié)點

C.樹中兩個權(quán)值最小的結(jié)點一定是兄弟結(jié)點

D.樹中任一非葉結(jié)點的權(quán)值一定不小于下一層任一結(jié)點的權(quán)值

答案:A

解釋:哈夫曼樹的構(gòu)造過程是每次都選取權(quán)值最小的樹作為左右子樹構(gòu)造一棵新的二叉樹,所以樹中一定沒有度為1的結(jié)點、兩個權(quán)值最小的結(jié)點一定是兄弟結(jié)點、任一非葉結(jié)點的權(quán)值一定不小于下一層任一結(jié)點的權(quán)值。

2.應(yīng)用

1試找出滿足下列條件的二叉樹

① 先序序列與后序序列相同? ??②中序序列與后序序列相同

③ 先序序列與中序序列相同? ??④中序序列與層次遍歷序列相同

答案:先序遍歷二叉樹的順序是“根—左子樹—右子樹”,中序遍歷“左子樹—根—右子樹”,后序遍歷順序是:“左子樹—右子樹―根",根據(jù)以上原則有

或為空樹,或為只有根結(jié)點的二叉樹

? 或為空樹,或為任一結(jié)點至多只有左子樹的二叉樹.

? 或為空樹,或為任一結(jié)點至多只有右子樹的二叉樹.

或為空樹,或為任一結(jié)點至多只有右子樹的二叉樹

2設(shè)一棵二叉樹的先序序列: A B D F C E G H ,中序序列: B F D A G E H C

①畫出這棵二叉樹。

②畫出這棵二叉樹的后序線索樹。

③將這棵二叉樹轉(zhuǎn)換成對應(yīng)的樹(或森林)。

答案:

3 假設(shè)用于通信的電文僅由8個字母組成,字母在電文中出現(xiàn)的頻率分別為0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。

① 試為這8個字母設(shè)計赫夫曼編碼。

② 試設(shè)計另一種由二進制表示的等長編碼方案。

③ 對于上述實例,比較兩種方案的優(yōu)缺點。

答案:方案1;哈夫曼編碼

先將概率放大100倍,以方便構(gòu)造哈夫曼樹。

?w={7,19,2,6,32,3,21,10},按哈夫曼規(guī)則:【[2,3),6], (7,10), -……19, 21, 32

?方案比較:

方案1WPL2(0.19+0.32+0.21)+4(0.07+0.06+0.10)+5(0.02+0.03)=1.44+0.92+0.25=2.61

方案2WPL3(0.19+0.32+0.21+0.07+0.06+0.10+0.02+0.03)=3

結(jié)論:哈夫曼編碼優(yōu)于等長二進制編碼

?(4)已知下列字符A、B、C、D、E、F、G的權(quán)值分別為3、12、7、4、2、8,11,試填寫出其對應(yīng)哈夫曼樹HT的存儲結(jié)構(gòu)的初態(tài)和終態(tài)。

答案:

初態(tài):

weight

parent

lchild

rchild

1

3

0

0

0

2

12

0

0

0

3

7

0

0

0

4

4

0

0

0

5

2

0

0

0

6

8

0

0

0

7

11

0

0

0

8

0

0

0

9

0

0

0

10

0

0

0

11

0

0

0

12

0

0

0

13

0

0

0

終態(tài):

weight

parent

lchild

rchild

1

3

8

0

0

2

12

12

0

0

3

7

10

0

0

4

4

9

0

0

5

2

8

0

0

6

8

10

0

0

7

11

11

0

0

8

5

9

5

1

9

9

11

4

8

10

15

12

3

6

11

20

13

9

7

12

27

13

2

10

13

47

0

11

12

總結(jié)

以上是生活随笔為你收集整理的数据结构练习题——树和二叉树(含应用题)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。