數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)題附答案_第1頁
數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)題附答案_第2頁
數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)題附答案_第3頁
數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)題附答案_第4頁
數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)題附答案_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一是非題1. 數(shù)據(jù)結(jié)構(gòu)(應(yīng)該是抽象數(shù)據(jù)類型)可用三元式表示(D,S,P)。其中:D是數(shù)據(jù)對象,S是D上的關(guān)系,P是對D的基本操作集。(f)2 簡單地說,數(shù)據(jù)結(jié)構(gòu)是帶有結(jié)構(gòu)的數(shù)據(jù)元素的集合。(t)3 判斷帶頭結(jié)點的非空循環(huán)單鏈表(頭指針為L)中指針p所指結(jié)點是最后一個元素結(jié)點的條件是:p->next=L。(t)4 線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)具有可直接存取表中任一元素的優(yōu)點。(f) 5 線性表的順序存儲結(jié)構(gòu)優(yōu)于鏈?zhǔn)酱鎯Y(jié)構(gòu)。(f)6. 在單鏈表P指針?biāo)附Y(jié)點之后插入S結(jié)點的操作是:P->next= S ; S-> next = P->next;。(f)(順序弄反了S-> n

2、ext = P->next; P->next= S ;)7 對于插入、刪除而言,線性表的鏈?zhǔn)酱鎯?yōu)于順序存儲。(t)8. 順序存儲方式的優(yōu)點是存儲密度大,且插入、刪除運算效率高。(f)9. 棧和隊列是操作上受限制的線性表。(t)10. 隊列是與線性表完全不同的一種數(shù)據(jù)結(jié)構(gòu)。(f)(棧和隊列是操作上受限制的線性表)11. 隊列是一種操作受限的線性表,凡對數(shù)據(jù)元素的操作僅限一端進行。(f) (兩端)12. 棧和隊列也是線性表。如果需要,可對它們中的任一元素進行操作。(f)( “如果需要,可對它們中的任一元素進行操作.” 這里的意思是在O(1)的時間來讀和改某個元素。比如數(shù)組的直接索引。

3、棧:如果需要,每一次只能對棧頂?shù)脑剡M行操作隊列:如果需要,每一次只能對兩端,或者只能對隊列頭的元素進行操作。)13. 棧是限定僅在表頭進行插入和表尾進行刪除運算的線性表。(f)14. 二叉樹中每個結(jié)點有兩個子結(jié)點,而對一般的樹,則無此限制,所以,二叉樹是樹的 特殊情形。(f)(二叉樹和樹相互獨立)15 二叉樹是一棵結(jié)點的度最大為二的樹。(f) (二叉樹和樹相互獨立)16 赫夫曼樹中結(jié)點個數(shù)一定是奇數(shù)。(t)17 在二叉樹的中序遍歷序列中,任意一個結(jié)點均處在其左孩子結(jié)點的后面。(t)(LDR)18 假設(shè)B是一棵樹,B是對應(yīng)的二叉樹。則B的后根遍歷相當(dāng)于B的后序遍歷 。(f)(后根遍歷相當(dāng)于中序

4、遍歷)19. 通常,二叉樹的第i層上有2i-1個結(jié)點。(f)(應(yīng)該為12i-1個)20. 中序線索二叉樹的優(yōu)點是便于在中序下查找直接前驅(qū)結(jié)點和直接后繼結(jié)點。(t)21 二叉樹的先序遍歷序列中,任意一個結(jié)點均處在其孩子結(jié)點的前面。(t)22 由樹結(jié)點的先根序列和后根序列可以唯一地確定一棵樹。(t)23 鄰接多重表可以用以表示無向圖,也可用以表示有向圖。(f)(只能表示無向圖,有向圖用十字鏈表)24 可從任意有向圖中得到關(guān)于所有頂點的拓撲次序。(f)(帶環(huán)圖沒有)25 有向圖的十字鏈表是將鄰接表和逆鄰接表合二為一的鏈表表示形式。(t)26 關(guān)鍵路徑是AOE網(wǎng)中源點到匯點的最短路徑。(f)(最長)2

5、7 連通圖G的生成樹是一個包含G的所有n個頂點和n-1條邊的子圖。(f)(極大連通子圖)28 一個無向圖的連通分量是其極大的連通子圖。(t)29 十字鏈表可以表示無向圖,也可用以表示有向圖。(f)(有向圖)30 鄰接表可以表示有向圖,也可以表示無向圖。(t)31. 二叉排序樹的平均查找長度為O(log)。(t)32. 二叉排序樹的最大查找長度與(LOG2N)同階。(f)33 選用好的HASH函數(shù)可避免沖突。(f)(無法避免,只能減少沖突)34 折半查找不適用于有序鏈表的查找。(t)(因鏈表地址不連續(xù))35. 對于目前所知的排序方法,快速排序具有最好的平均性能。(t)36 對于任何待排序序列來說

6、,快速排序均快于冒泡排序。(f)(快速排序希望初始數(shù)據(jù)隨機)37 在最壞情況下,堆排序的時間性能是O(nlogn),比快速排序好(t)(堆排序與初始數(shù)據(jù)無關(guān))38 快速排序具有最好的平均時間性能,它在任何時候的時間復(fù)雜度都是O(n log n)。(f)(退化到n2)39. 字符串是數(shù)據(jù)對象特定的線性表。(t)40. 空串與空格串是相同的。(f)(空串長度為0,空格串長度為其長度)41. 對于一棵m階的B-樹.樹中每個結(jié)點至多有m 個關(guān)鍵字.除根之外的所有非終端結(jié)點至 少有m/2個關(guān)鍵字。(f)(至少有m顆子樹,關(guān)鍵字數(shù)目至少m-1)42. 當(dāng)二叉排序樹是一棵平衡二叉樹時,其平均查找長度為O(l

7、og2n)。(t)43. 廣義表的表頭和表尾都是廣義表。(f)(表頭可能是原子,也可能是列表,而其表尾必定為列表)44 二維數(shù)組是其數(shù)據(jù)元素為線性表的線性表。(t)選擇題。1 從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分成( c )。 A. 動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu) B. 順序組織和鏈接組織 C. 線性結(jié)構(gòu)和非線性結(jié)構(gòu) D. 基本類型和組合類型2 線性表L在( b )情況下適于使用鏈表結(jié)構(gòu)實現(xiàn)。 A. 不需修改L的結(jié)構(gòu) B. 需不斷對L進行刪除、插入 C. 需經(jīng)常修改L中結(jié)點值 D. L中含有大量結(jié)點3 帶頭結(jié)點的單鏈表L為空的判斷條件是 b 。 帶頭結(jié)點的循環(huán)鏈表L為空的判斷條件是 c 。 A. L=null B.

8、L->next=null C. L->next=L D. L!=null4 若順序表中各結(jié)點的查找概率不等,則可用如下策略提高順序查找的效率:若找到指定 的結(jié)點,將該結(jié)點與其后繼(若存在)結(jié)點交換位置,使得經(jīng)常被查找的結(jié)點逐漸移至 表尾。以下為據(jù)此策略編寫的算法,請選擇適當(dāng)?shù)膬?nèi)容,完成此功能。 順序表的存儲結(jié)構(gòu)為:typedef struct ElemType *elem; /數(shù)據(jù)元素存儲空間,0號單元作監(jiān)視哨 int length; /表長度 SSTable;int search_seq(SSTable ST,KeyType key) /在順序表ST中順序查找關(guān)鍵字等于key的數(shù)

9、據(jù)元素。/若找到,則將該元素與其后繼交換位置,并返回其在表中的位置,否則為0。ST.elem0.key=key;i=ST.length;while(ST.elemi.key!=key) f ;if( G ) ST.elemiST.elemi+1; e ; return i;A. i>0 B. i>=0 C. i<ST.length D. i<=ST.lengthE. i+ F. i- G. A和C同時滿足 H. B和D同時滿足5 若入棧順序為A、B、C、D、E,則下列( d )出棧序列是不可能的。 AA、B、C、D、E BB、C、D、A、E CC、D、B、E、A DD、

10、E、C、A、B6 遞歸程序可借助于( c )轉(zhuǎn)化為非遞歸程序。 a.線性表 b.隊列 c: 棧 d.數(shù)組 7 在下列數(shù)據(jù)結(jié)構(gòu)中( c )具有先進先出(FIFO)特性, ( b )具有先進后出(FILO)特性。 a線性表 b棧 c隊列 d廣義表8 若對編號為1,2,3的列車車廂依次通過扳道棧進行調(diào)度,不能得到 ( e ) 的序列。 a:1,2,3 b:1,3,2 c:2,1,3 d:2,3,1 e:3,1,2 f:3,2,19 在計算遞歸函數(shù)時,如不用遞歸過程,應(yīng)借助于( b ) 這種數(shù)據(jù)結(jié)構(gòu)。 A. 線性表 B. 棧 C. 隊列 D. 雙向隊列10 若帶頭結(jié)點的鏈表只設(shè)尾結(jié)點指針。下列選擇中(

11、 c )最適用于隊列。 A)單鏈表 B)雙向鏈表 C循環(huán)單鏈表 D)雙向循環(huán)鏈表11 棧和隊列的一個共同點是( c )。 A. 都是先進先出 B. 都是先進后出 C. 只允許在端點處插入和刪除元素 D. 沒有共同點12 循環(huán)隊列用數(shù)組A0.m-1存放其元素值,設(shè)頭尾指針分別為front和rear,則當(dāng)前隊列中 的元素個數(shù)是( c )。 A. rear-front-1 B. Rear-front+1 C. (rear-front+m)%m D. Rear-front13 如下關(guān)于串的陳述中,正確的是( a, c )。 A. 串是數(shù)據(jù)元素類型特殊的線性表 B. 串中的元素是字母 C. 串中若干個元

12、素構(gòu)成的子序列稱為子串 D. 空串即為空格串14 對字符串s=data-structure 執(zhí)行操作replace(s,substring(s,6,8),bas) 的結(jié)果是 ( b ) 。 a: database b: data-base c: bas d: data-basucture 15 設(shè)有二維數(shù)組A 5 x 7 ,每一元素用相鄰的4個字節(jié)存儲,存儲器按字節(jié)編址. 已知A的起始地址為100。則按行存儲時,元素A06的第一個字節(jié)的地址是(d ) 按列存儲時,元素A06的第一個字節(jié)的地址是( a ) a: 220 b: 200 c: 140 d: 12416對廣義表 A=(a,(b),(c

13、,(),d)執(zhí)行操作gettail(gethead(gettail(A) 的結(jié)果是:( b ) 。 a:() b: () c: d d: (d)gettail(A)= (c,(),d)gethead(gettail(A)= (c,()gettail(gethead(gettail(A)=()17 假設(shè)用于通訊的電文僅由6個字符組成,字母在電文中出現(xiàn)的頻率分別為7, 19, 22, 6, 32, 14。 若為這6個字母設(shè)計哈夫曼編碼(設(shè)生成新的二叉樹的規(guī)則是按給出的次序從左至 右的結(jié)合,新生成的二叉樹總是插入在最右),則頻率為7的字符編碼是( g ),頻率 為32的字符編碼是( c )。 a:

14、00 b: 01 c: 10 d: 11 e: 011 f: 110 g: 1110 h:1111 (100) ( ) ( ) (32 ) ( ) (19) (22) / (14) (13) / (7) (6)18 對二叉排序樹( c )可得到有序序列。 a:按層遍歷 b:前序遍歷 c:中序遍歷 d:后序遍歷19 設(shè)一棵二叉樹BT的存儲結(jié)構(gòu)如下: 1 2 3 4 5 6 7 8 lchild 2 3 0 0 6 0 0 0 data A B C D E F G H rchild 0 5 4 0 8 7 0 0 其中l(wèi)child,rchild分別為結(jié)點的左、右孩子指針域,data為結(jié)點的數(shù)據(jù)域。

15、則 該二叉樹的高度為( d ); 第3層有( a )個結(jié)點(根結(jié)點為第1層)。A2 B. 3 C. 4 D. 5 (A) ( B) (C ) (E ) / (D) (F) (H) (G)20 先序遍歷(DLR)圖示二叉樹可得到( a )的序列。 (A) (B) (C) (H) (D) (G) (E) (F) (I) a)A B H D E F I C G b)H B E D F I A C G c) H E I F D B G C A 21 在有n個結(jié)點的二叉樹的二叉鏈表表示中,空指針數(shù) ( b )。 a.不定 b.n+1 c.n d.n-12n - (n-1)2n個指針域 有效指針域22 若

16、某二叉樹有20個葉子結(jié)點,有20個結(jié)點僅有一個孩子,則該二叉樹的總結(jié)點數(shù)是 ( c )。 A40 B. 55 C. 59 D. 61 n=n0+n1+n2=20+20+1923 已知某二叉樹的先序遍歷次序為abcdefg中序遍歷次序為badcgfe, 則該二叉樹的后序遍歷次序為( c )。層次遍歷次序為( a )。 a: abcdefg b: cdebgfa c: bdgfeca d: edcgfba先序:a b cdefg 誰先訪問誰是根 D L R中序:b a dcgfe L D R (a) (b) (c) (d) (e) / (g) (f)24 圖示的三棵二叉樹中( c)為最優(yōu)二叉樹。

17、A) B) C) c a 2 7 a b c d d b 7 5 2 4 4 5 a b c d 7 5 2 4最優(yōu)二叉樹->哈夫曼樹25 已知某二叉樹的后序遍歷和中序遍歷次序分別為DBFGECA和BDACFEG。則其先序遍歷次序為( b ),層次遍歷次序為( a )。a: abcdefg b: abdcefg c: abcdfeg d: abcdegf后序:DB FGEC A誰后訪問誰是根 L R D中序:BD A CFEG L D R (A) (B) (C) (D) (E) / (F) (G)26 已知某樹的先根遍歷次序為abcdefg后根遍歷次序為cdebgfa。 若將該樹轉(zhuǎn)換為二

18、叉樹,其后序遍歷次序為( d )。a: abcdefg b: cdebgfa c: cdegbfa d: edcgfba先根:a bcdefg后根:cdebgf a (a) (b) (f) / | (c) (d) (e) (g)27 設(shè)x和y是二叉樹中的任意兩個結(jié)點,若在先根序列中x在y之前,而在后根序列中x 在y之后,則x和y的關(guān)系是( c )。 A. x是y的左兄弟 B. x是y的右兄弟 C. x是y的祖先(不一定是父子) D. x是y的子孫28 用三叉鏈表作二叉樹的存儲結(jié)構(gòu),當(dāng)二叉樹中有n個結(jié)點時,有( d )個空指針。 A. n-1 B. n C. n+1 D. n+2三叉鏈表:較二叉

19、鏈表多一雙親指針域二叉鏈表:2n - (n-1) = n+12n個指針域 有效指針域根節(jié)點雙親指針必為空,故n+1+1=n+229 對一棵完全二叉樹進行層序編號。則編號為n的結(jié)點若存在右孩子,其位序是( d )。 編號為n的結(jié)點若存在雙親,其位置是( a )。 a: n/2 b: 2n c:2n-1 d:2n+1 e:n f: 2(n+1)30 設(shè)森林F中有三棵樹,第一、第二和第三棵樹的結(jié)點個數(shù)分別為m1、m2和m3,則與 森林F對應(yīng)的二叉樹根結(jié)點的右子樹上的結(jié)點個數(shù)是( d )。A. m1 B. m1+m2 C. m3 D. m2+m3(A) (B) (C)/ / / m1 m2 m3(A)

20、/ (左) (右) m-1 m2+m331 下列二叉樹中,( a )可用于實現(xiàn)符號不等長高效編碼。 a:最優(yōu)二叉樹 b:次優(yōu)查找樹 c:二叉平衡樹 d:二叉排序樹哈夫曼樹32 鄰接表存儲結(jié)構(gòu)下圖的深度優(yōu)先遍歷算法類似于二叉樹的(a )遍歷。 A. 先根 B. 中根 C. 后根 D. 層次33 設(shè)無向圖G = (V,E)和G= (V,E),若G是G的生成樹,則下面不正確的說法是( b )。 A. G是G的子圖         B. G是G的連通分量 C. G是G的無環(huán)子圖    

21、0; D. G是G的極小連通子圖且V= V生成樹:極小連通分量:極大34 任何一個連通圖的最小生成樹( b )。 A只有一棵 B. 有一棵或多棵 C. 一定有多棵 D. 可能不存在35 深度優(yōu)先遍歷圖使用了數(shù)據(jù)結(jié)構(gòu)(b ),而廣度優(yōu)先遍歷圖使用了數(shù)據(jù)結(jié)構(gòu)( c )。A)數(shù)組 B)棧 C)隊列 D)線性表DFS:棧(遞歸)BFS:隊列(層次)36 已知某有向圖的鄰接表存儲結(jié)構(gòu)如圖所示。 0 E 2 1 1 D 0 3 4 2 C 43 B 1 2 0 4 A 2 根據(jù)存儲結(jié)構(gòu)依教材中的算法其深度優(yōu)先遍歷次序為( d )。 廣度優(yōu)先遍歷此序為( c )。各強連通分量的頂點集為( h )。 a: a

22、bcde. b: edcba. c: ecdab. d: ecadb. e: abc及ed f: bc及aed g: ab及ced h: ac及bed37 下列查找方法中( a )適用于查找單鏈表。 A)順序查找 B)折半查找 C)分塊查找 D)hash查找38 下列算法中(c )適用于求圖的最小代價生成樹。( b )能對圖作廣度優(yōu)先遍歷。 A)DFS算法 B)BFS算法 C)Prim算法 D)Dijkstra算法39 關(guān)鍵路徑是指在只有一個源點和一個匯點的有向無環(huán)網(wǎng)中源點至匯點( c )的路徑。 a:弧的數(shù)目最多 b:弧的數(shù)目最少 c:權(quán)值之和最大 d:權(quán)值之和最小40 哈希表的查找效率取決

23、于( d )。a: 哈希函數(shù) b:處理沖突的方法。 c:哈希表的裝填因子。 d:以上都是 哈希函數(shù)是否均勻; 處理沖突的方法; 哈希表的裝填因子。41 在Hash函數(shù)H(k)=k MOD m中,一般來說,m應(yīng)取( c )。 A. 奇數(shù) B. 偶數(shù) C. 素數(shù) D. 充分大的數(shù)素數(shù)可以有效的減少Hash沖突42 在順序表查找中,為避免查找過程中每一步都檢測整個表是否查找完畢, 可采用 a 方法。 A.設(shè)置監(jiān)視哨 B.鏈表存貯 C.二分查找 D.快速查找43 靜態(tài)查找表和動態(tài)查找表的區(qū)別在于( b )。 A. 前者是順序存儲,而后者是鏈?zhǔn)酱鎯?B. 前者只能進行查找操作,而后者可進行查找、插入和刪

24、除操作 C. 前者只能順序查找,而后者只能折半查找D. 前者可被排序,而后者不能被排序動態(tài)查找表在查找過程中插入元素或者從查找表中刪除元素靜態(tài)查找表只是查找特定元素或者檢索特定元素的屬性最通俗的解釋:動態(tài)查找表可以對查找表結(jié)構(gòu)進行修改,而靜態(tài)查找表只是查詢44 在一個含有n個元素的有序表上進行折半查找,找到一個元素最多要進行( b )次元素 比較。 Aëlog2(n)û B. ëlog2(n)û+1 C. ëlog2(n+1)û D. ëlog2(n+1)û+1折半查找每次都會把范圍縮小一半,因為最后剩一個元素時,

25、也要執(zhí)行查找過程,所以+1。每次二分 直到最后一次才找到 就會有 2k = n / 2 得到 k = log2n + 145 設(shè)輸入序列為20, 45, 30, 89, 70, 38, 62,19依次插入到一棵2-3樹中(初始狀態(tài)為空), 該B-樹為( b )。再刪除38,該B-樹為( f )。 ( 30 62 ) ( 45 ) (19,20)( 38 45 ) ( 70,89 ) ( 30 ) ( 70 ) (19 20) (38 )( 62 ) ( 89 ) a

26、: b: ( 45 70 ) ( 45 ) (20) ( 62 ) ( 89 ) ( 20 ) ( 70 )(19)( 30 ) ( 19 ) ( 30,38 )( 62 ) ( 89 ) c: d: ( 30 70 ) ( 45 ) (19,20) ( 45 62) ( 89 ) ( 20 ) ( 70 ) (19 ) (30 )( 62 ) ( 89 ) e: f:46根據(jù)插入次序(80,90,100,110,85,70,75,60,72)建立二叉排序樹。 圖( a )是最終變化的結(jié)果。若仍以該插入次序建立平衡二叉樹。圖( c )是最 終變化的結(jié)果。 80 80 70 90 75 90 6

27、0 75 85 100 60 70 85 100 72 110 72 110 a: b: 90 90 75 100 80 100 70 80 110 75 70 85 110 60 72 85 60 72 c: d:47 若有序表中關(guān)鍵字序列為:14,20,25,32,34,45,57,69,77,83,92。對其進行 折半查找,則在等概率情況下,查找成功時的平均查找長度是( c )。查找32時需進 行( c )次比較。A. 1 B. 2 C. 3 D. 4 48 已知哈希表地址空間為A9,哈希函數(shù)為H(k)=k mod 7,采用線性探測再散列處理沖突。 若依次將數(shù)據(jù)序列:76,45,88,2

28、1,94,77,17存入該散列表中,則元素17存儲的下標(biāo)為( h ); 在等概率情況下查找成功的平均查找長度為( c )。 A. 0 B. 1 C. 2 D. 3 E. 4 F. 5 G. 6 H. 749 若從二叉樹的根結(jié)點到其它任一結(jié)點的路徑上所經(jīng)過的結(jié)點序列按其關(guān)鍵字遞增有序, 則該二叉樹是( c )。 A. 二叉排序樹 B. 赫夫曼樹 C. 堆 D. 平衡二叉樹50 當(dāng)待排序序列的關(guān)鍵字次序為倒序時,若需為之進行正序排序,下列方案中( d )為佳。 A. 起泡排序 B. 快速排序 C. 直接插入排序 D. 簡單選擇排序51 下列排序算法中,( d)算法可能會出現(xiàn):初始數(shù)據(jù)有序時,花費的

29、時間反而最多。 A. 堆排序 B. 起泡排序 C. 歸并排序 D. 快速排序52 在下列排序方法中,( c )方法平均時間復(fù)雜度為0(nlogn), 最壞情況下時間復(fù)雜度為0(n2);( d )方法所有情況下時間復(fù)雜度均為0(nlogn)。 a. 插入排序 b. 希爾排序 c. 快速排序 d. 堆排序 53 已知一組待排序的記錄關(guān)鍵字初始排列如下:56,26,86,35,75,19,77,58,48,42下列選擇中( d )是快速排序一趟排序的結(jié)果。( c )是希爾排序(初始步長為3)一趟排序的結(jié)果。( a )是初始堆(大堆頂)。 A)86,75,77,58,42,19,56,35,48,26

30、. B)26,56,35,75,19,77,58,48,42,86. C)35,26,19,42,58,48,56,75,86,77. D)42,26,48,35,19,56,77,58,75,86.三填空題1 數(shù)據(jù)結(jié)構(gòu)通常有下列4類基本結(jié)構(gòu):集合、線性結(jié)構(gòu) 、樹型結(jié)構(gòu)、圖型結(jié)構(gòu)。2 設(shè)單鏈表中結(jié)點形式為 data next ,若單鏈表長度大于等于2,指針p指向表中某個結(jié)點且p->next非空,此時若要刪除指針p所指的結(jié)點,可以通過如下方法進行:將p所指結(jié)點的后繼的元素值復(fù)制到該結(jié)點,然后刪除其后繼結(jié)點。相應(yīng)的語句序列為:p->data =  p-&g

31、t;next->data;p->next = p->next->next;free(p ->next); ;3 線性表的順序存儲結(jié)構(gòu)是以數(shù)組下標(biāo)來表示數(shù)據(jù)元素之間的邏輯關(guān)系的。4 已知P是單鏈表中某一結(jié)點的指針,P既不是首元結(jié)點也不是尾元結(jié)點,Q是P 的 前驅(qū) 結(jié)點指針。當(dāng)刪除P結(jié)點時,鏈表的鏈接可用語句(q->next = p->next)實現(xiàn)。5 已知某樹的先根遍歷次序為abcdefg后根遍歷次序為cdebgfa。 若將該樹轉(zhuǎn)換為二叉樹,其后序遍歷次序為(edcgfba)。層次遍歷次序為(abcfdge)。6 已知某二

32、叉樹的先序遍歷次序為afbcdeg中序遍歷次序為cedbgfa。 其后序遍歷次序為(edcgbfa)。層次遍歷次序為(afbcgde)。7 在二叉樹的第i層上至少有1個結(jié)點, 至多有2i-1個結(jié)點 , 深度為k的二叉樹至多有2i-1個結(jié)點.8 對樹的遍歷有先序遍歷樹和后序遍歷樹。若以二叉鏈表作樹的存儲結(jié)構(gòu), 則樹的先序遍歷可借用二叉樹的先序遍歷算法來實現(xiàn), 而樹的后序遍歷可借用二叉樹的中序遍歷算法來實現(xiàn)。9 設(shè)高度為h的二叉樹上只有度為0和度為2的結(jié)點,則此類二叉樹中所包含的結(jié)點數(shù)至少 是2*h-1,至多是滿樹。10 對任何一棵二叉樹T,若其終端結(jié)點數(shù)為n0.度為2的結(jié)點為n2,則n0與n2的

33、關(guān)系為 (n0=n2+1)。11 如果對完全二叉樹中結(jié)點從1開始按層進行編號,設(shè)最大編號為n;那么,可以斷定編 號為i (i>1)的結(jié)點的父結(jié)點編號為(i/2向下取整);所有編號(i>n/2)的結(jié)點為葉子結(jié)點。 12 n個頂點的連通圖至少有n-1條邊,至多有n(n-1)/2條邊。13 對于圖的存儲結(jié)構(gòu)有(數(shù)組表示法)、(鄰接表法)、(十字鏈表法)、(鄰接多重表法)等方法。14 在一個無向圖的鄰接表中,若表結(jié)點的個數(shù)是m,則圖中邊的條數(shù)是m/2條。15 若有序表中關(guān)鍵字序列為:12,22,33,44,55,66,77,88,99對其進行折半查找, 則在等概率情況下,查找成功時的平均查

34、找長度是(3)。查找99時需進行(2)次比較。16 在哈希表中,處理沖突的方法有開放定址法,再哈希法,鏈地址法等。17 在二叉樹的第i層上至少有1個結(jié)點, 至多有2i-1個結(jié)點 ,深度為k的二叉樹至多有2k-1個結(jié)點.18 對于一棵高度為K的二叉排序樹,結(jié)點數(shù)最少可有 個,最多可有 個。19 用中序遍歷對二叉排序樹進行訪問可得到有序序列。20 已知Hash函數(shù)為 H(K)=K mod 13 ,散列地址為0 -14,用二次探測再散列 處理沖突,關(guān)鍵字(23,34,56,24,75,12,49, 52,36,92) 的分布如圖,則平均成功的查找長度為( )、平均失敗的查找長度為( )。 0 1 2

35、 3 4 5 6 7 8 9 10 11 12 13 1452 36925634 232475124921 一棵階的-樹,第一層至少有一個結(jié)點;第二層至少有2個結(jié)點, 除根之外的所有非終端結(jié)點至少有( m/2 )棵子樹, 樹中每個結(jié)點至多有( m )棵子樹。22 在哈希表中,處理沖突的方法有開放定址法,再哈希法,鏈地址法,建立一個公共溢出區(qū)。23 哈希表的查找效率取決于(哈希函數(shù)是否均勻)(處理沖突的方法)和(哈希表的裝填因子)。24高度為4 (包含不帶關(guān)鍵字的葉子結(jié)點層)的7階B樹最少有 m/2 -1個關(guān)鍵字,最多有m-1個關(guān)鍵字;如果其中的某結(jié)點正好

36、有2個兒子,那么,該結(jié)點必定是 結(jié)點。25 對n個元素的序列進行內(nèi)部排序,若用起泡排序法,最少的比較次數(shù)是n-1,最多的比較次數(shù)是n(n-1)/2。25 (算法填空)Status Preordertraverse(Bitree T,Status(*Visit)(Telemtype e) /先序非遞歸遍歷二叉樹。Initstack ( S ); Push ( S,T );While ( !stackempty( S ) ) While ( gettop( S, p )&&p) if (!Visit (p->data ) ) return ERROR; push(S,p-&g

37、t;lchild) ; Pop ( S , p ); if (!StackEmpty(S) Pop(s,p);  push( S, p->rchild ); return ok;26 (算法填空)下列算法試圖完成在數(shù)組A中搜索有無關(guān)鍵字key,若有,返回數(shù)組下標(biāo),若無,返回-1。在“ ”處填上合適的內(nèi)容,完成該算法。int BinarySearch (keytype A , int low,int high, keytype key )while (low <= high) middle = (low+high) /2;if (Amiddle = key) return middle; if

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論