資料結構筆試題三

2022-09-04 01:54:06 字數 3400 閱讀 4032

一、選擇題(每小題2分,共8分)

1. 若需要利用形參直接訪問實參,則應把形參變數說明為( )引數。

a. 指標 b. 引用

c. 值 

2. 在乙個單鏈表hl中,若要在指標q所至結點的後面插入乙個由指標p所指向的結點,則執行()。

a. q->next=p->next; p->next=q;

b. p->next=q->next; q=p;

c. q->next=p->next; p->next=q;

d. p->next=q->next; q->next=p;

3. 在乙個順序佇列中,隊首指標指向對首元素的()位置。

a. 後乙個 b. 前乙個

c. 當前

4.向二叉搜尋樹中插入乙個元素時,其時間複雜度大致為( )。

a. o(long2n) b. o(n)

c. o(1) d. o(nlong2n) 

二.、填空題(每空1分,共同社2分)

1. 資料的儲存結構被分為_______________,________________,_______________和______________四種。

2. 對於乙個順序儲存的線性表,在表頭插入元素的時間複雜度為______________, 在表尾插入元素的時間複雜

度為_______________。

3. 在稀疏矩陣所對應的三遠組線性表中,每個三元組元素按______________為主序,_______________為輔序

的次序排列。

4. 在廣義表的儲存結構中,單元表結點與表元素結點有乙個域對應不同,各自分別為_______________域和_______________域。

5. 中級表示式3+x*(2.4/5-6)所對應的字尾表示式為_________________。

6. 在一棵高度為h的3叉樹中,最多含有_______________結點。

7. 假定一棵二叉樹的結點數為18,則它的最小深度為_______,最大深度為______。

8. 在一課二叉樹搜尋中,每個分支結點的左子樹上所有的結點的值一定______該結點的值,右子樹上所有的結

點的值一定_____該結點的值。

9. 當向乙個小根堆插入乙個具有最小值的元素時,該元素需要逐層______調整,知道被調整到______位置為止。 

10. 表示圖的三種儲存結構為________________,_________________和_________________。

11. 對用鄰接矩陣表示的具有n個定點和e條邊的圖進行任一種遍歷時,其時間複雜度為__________,對用鄰接

表表示的圖進行任一種遍歷時,其時間複雜度為______________。

12. 從有序表(12,18,30,43,56,78,82,95)中依次二分查詢43和56元素時,其查詢長度分別為______和______。

13. 假定對長度n=144的線性表進行索引查詢,並假定每個子表的長度均為 ,則進行索引查詢的平均查詢長度

為_______,時間複雜度為________________。

14. 一棵b_樹中的所有葉子結點均處在_______________上。

15. 每次從無序表中順序取出乙個元素,把它插入到有序表中的適當位置,此種排序方法叫做______排序;每

次從無序表中挑選出乙個最小或最大元素,把它交換到有序表的一端,此種排序方法叫做______排序。

16. 快速排序在平均情況下的時間複雜度為________________,在最環情況下的時間複雜度為

三.、運算題(每小題6分,共24分)

1. 假定一棵普通樹的廣義表表示a(b(e),c(f(h,i),g),d),分別寫出先根、後根、按層遍歷的結果。

先根:後根:

按層:2. 已知乙個帶全圖的定點集v和邊集g分別為:

v=;e=;

則求出該圖的最小生成樹的權。

最小生成樹的泉:

3. 對於線性表(18,25,63,50,41,32,90,66)進行三列儲存時,若選用h(k)=k%11作為雜湊函式,則散

列位址為0的元素有______個,雜湊位址為3的元素有______個,雜湊位址為8的元素有______個。

4. 假定一組紀錄的排序碼為(46,79,56,38,40,80,25,34),在對其進行快速排序的過程中,進行第

一次劃分後得到的排序碼序列為。

四、閱讀演算法,回答問題(每小題8分,共16分)

1. void ad(lnode*&hl)

假定呼叫該演算法時以hl為表頭指標的單鏈表中的內容為(15,26,48,55),則呼叫返回後該單鏈表中的內容變為:

2. void ai(adjmatrixga,int i,int n)

else if(itemdata)____________________________________;

else_________________________________________;

}六. 編寫演算法(10分)

編寫向型別為list的線性表l中第i個元素為值插入乙個元素的演算法,假定不需要對i的值進行有效性檢查,同時不需要檢查儲存空間是否用完。

void insert(list&l,int i,elemtype x)

完答案:一、 單選題

1、b.2、d.3、b.4、a

二、 填空

1、 順序結構、鏈結結構、索引結構、雜湊結構(次序無先後)

2、 o(n)、o(1)

3、 行號、列號

4、 值(或data)、子表指標(或sublist)

5、 3x2.45/6-*+

6、 (3h-1)/2

7、 5 18

8、 小於 大於

9、 向上 堆頂

10、鄰接矩陣 鄰接表 邊集陣列(次序無先後)

11、o(n2) o(e)

12、1 3

13、13 o( )

14、同一層

15、插入 選擇

16、o(nlog2n) o(n2)

三、 運算題

1、 先根:a,b,e,c,f,h,i,g,d;

後根:e,b,h,i,f,g,c,d,a;

按層:a,b,c,d,e,f,g,h,i;

2、 最小生成樹的權:34

3、 1 1 2 每個資料佔2分

4、 (40 ,34 ,25,38,46,80,56,79)

四、 閱讀演算法,回答問題。

1、(15,30,48,50)

2、從初始點vi出發深度優先搜尋遍歷由鄰接矩陣ga所表示的圖。

五、 演算法填空,在畫有橫線的地方填寫合適的內容。

p->left=p->right=null

insert(bst->left,item)

insert(bst->right,item)

六、 編寫演算法

void insert(list&l,int i ,elemtype x)

資料結構筆試題

一 如何判斷乙個單鏈表是有環的?注意不能用標誌位,最多只能用兩個額外指標 struct node bool check const node head return false 無環 true 有環 一種o n 的辦法就是 搞兩個指標,乙個每次遞增一步,乙個每次遞增兩步,如果有環的話兩者必然重合,反...

資料結構筆試題目

1 c 編成求二叉樹的深度 int bintreedepth link head 2 排序二叉樹插入乙個節點或雙向鍊錶的實現 排序二叉樹 左小於根,根小於右。左右又分別是排序二叉樹。前序遍歷 根左右 中序遍歷 左根右 後序遍歷 左右根 排序二叉樹插入乙個結點 大於左,往右找,小於右往左找,遞迴實現。...

筆試題之資料結構

時間複雜度 整個演算法的執行時間與基本操作重複執行的次數成正比。參考kmp演算法,該演算法的時間複雜度為q n 通常,模式串的長度n比主串的長度m要小的多 穩定排序 排序前後,數值的相對前後位置不變的為穩定排序,否則為不穩定排序。1 簡單排序,時間複雜度o n的平方 不穩定 2 快速排序,時間複雜度...