資料結構與演算法期末複習題

2022-05-13 07:12:08 字數 3482 閱讀 4575

在帶有頭結點的單鏈表hl中,要向表頭插入乙個由指標p指向的結點,則執行( a )。    

a. p->next=hl->next; hl->next=p;       b. p->next=hl; hl=p;           c. p->next=hl; p=hl;                   d. hl=p; p->next=hl;

乙個棧的輸入序列為1 2 3,則下列序列中不可能是棧的輸出序列的是(   c  )   

a. 2 3 1 b. 3 2 1   c. 3 1 2 d. 1 2 3

aov網是一種( d )。        

a.有向圖      b.無向圖      c.無向無環圖    d.有向無環圖

採用開放定址法處理雜湊表的衝突時,其平均查詢長度( b )。 

a.低於鏈結法處理衝突 b. 高於鏈結法處理衝突 c.與鏈結法處理衝突相同 d.高於二分查詢

若需要利用形參直接訪問實參時, 應將形參變數說明為 ( d )引數。 

a.值 b.函式 c.指標 d.引用

在稀疏矩陣的帶行指標向量的鏈結儲存中,每個單鏈表中的結點都具 有相同的( a)。 

a.行號 b.列號 c.元素值 d.非零元素個數

從二叉搜尋樹中查詢乙個元素時,其時間複雜度大致為 ( c )。 

a. o(n) b. o(1) c. o(log2n) d. o(n 2)

快速排序在最壞情況下的時間複雜度為( d )。

a.o(log2n)      b.o(nlog2n)       c.0(n)         d.0(n2)

設哈夫曼樹中的葉子結點總數為m,若用二叉鍊錶作為儲存結構,則該哈夫曼樹中總共有( b )個空指標域。  

(a) 2m-1 (b) 2m (c) 2m+1 (d) 4m

對於乙個長度為n的單鏈儲存的線性表,在表頭插入元素的時間複雜度為___o(1)______,在表尾插入元素的時間複雜度為____o(n)________。

設w為乙個二維陣列,其每個資料元素占用4個位元組,行下標i從0到7 ,列下標j從0到3 ,則二維陣列w的資料元素共占用__128_____個位元組。w中第6 行的元素和第4 列的元素共占用____44_____個位元組。若按行順序存放二維陣列w,其起始位址為100,則二維陣列元素w[6,3]的起始位址為____208______。(

w[i][j]的首位址 =

陣列的在記憶體中的基位址(=100)

+ i * 列數(=6)* 每個元素zhuan佔單元數(=4)

+ j *(=3) 每個元素佔單元數(=4)

代入得:

w[3][2] 首位址 = 100 + 6 * 4 *4 + 3 * 4 = 208

廣義表a= (a,(a,b),((a,b),c)),則它的深度為_____3_______,它的長度為_____3_______

二叉樹是指度為2的________有序____________樹。一棵結點數為n的二叉樹,其所有結點的度的總和是_____n-1________。

對一棵二叉搜尋樹進行中序遍歷時,得到的結點序列是乙個____有序序列__________。對一棵由算術表示式組成的二叉語法樹進行後序遍歷得到的結點序列是該算術表示式的______字尾表示式____________。

對於一棵具有n個結點的二叉樹,用二叉鍊錶儲存時,其指標總數為____2n_________個,其中______n-1_________個用於指向孩子,_______n+1__________個指標是空閒的。

若對一棵完全二叉樹從0開始進行結點的編號,並按此編號把它順序儲存到一維陣列a中,即編號為0的結點儲存到a[0]中。其餘類推,則a[ i ]元素的左孩子元素為___2i+1_____,右孩子元素為______2i+2_________,雙親元素為______(i-1)/2______。

當待排序的記錄數較大,排序碼較隨機且對穩定性不作要求時,宜採用_______快速________排序;當待排序的記錄數較大,儲存空間允許且要求排序是穩定時,宜採用_________歸併_______________排序。

在以hl為表頭指標的帶表頭附加結點的單鏈表和迴圈單鏈表中,判斷鍊錶為空的條件分別為______hl→next =null__________和______hl=hl→next______________。

已知乙個6x5稀疏矩陣如下所示

(1)寫出它的三元組線性表;((1,5,1),(3,2,-1),(4,5,-2),(5,1,5),(6,3,7))

(2)給出三元組線性表的順序儲存表示。

(1) 從頂點①出發進行深度優先搜尋所得到的深度優先生成樹; (2) 從頂點②出發進行廣度優先搜尋所得到的廣度優先生成樹;

dfs:1 2 3 4 5

bfs:2 3 4 5 1

寫出下述演算法的功能: 

功能為:從初始點 vi 出發廣度優先搜尋由鄰接表 gl 所表示的圖。

設計判斷單鏈表中結點是否關於中心對稱演算法。

typedef struct

sqstack; 

int lklistsymmetry(lklist *head)   

for(p=head;p!=0;p=p->next) 

if (p->data==stack.s[stack.top]) 

stack.top--; 

else

return

0;   

return1; 

}

設計在鏈式儲存結構上建立一棵二叉樹的演算法。

typedef char

datatype; 

typedef 

struct

node  bitree; 

void createbitree(bitree *&bt)  

bt=(bitree*)malloc(sizeof

(bitree));

bt->data=ch; 

createbitree(bt->lchild); 

createbitree(bt->rchild); 

}

設計判斷一棵二叉樹是否是二叉排序樹的演算法。

int minnum=-32768,flag=1

; typedef

struct

nodebitree;

void inorder(bitree *bt)

}

資料結構複習題綱

最近把近期的部落格和生活中的一些瑣事進行了整理和歸納,從現在起,開始著手準備資料結構的複習了。同時做一些筆記與大家共同分享 進步!感謝大家的支援!記得點讚啦!第二章 鍊錶 第三章 棧和佇列 對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示乙個或多個操作 此外,乙個演算法還具有下列...

資料結構複習題(二)

一 選擇題 24分 1 下面關於線性表的敘述錯誤的是 a 線性表採用順序儲存必須占用一片連續的儲存空間 b 線性表採用鏈式儲存不必占用一片連續的儲存空間 c 線性表採用鏈式儲存便於插入和刪除操作的實現 d 線性表採用順序儲存便於插入和刪除操作的實現 2 設哈夫曼樹中的葉子結點總數為m,若用二叉鍊錶作...

資料結構複習題(五)

一 選擇題 20分 1 資料的最小單位是 a 資料項 b 資料型別 c 資料元素 d 資料變數 2 設一組初始記錄關鍵字序列為 50,40,95,20,15,70,60,45 則以增量d 4的一趟希爾排序結束後前4條記錄關鍵字為 a 40,50,20,95 b 15,40,60,20 c 15,20...