第一部分 選擇題 (共20分)
一、單項選擇題 (本大題共8小題,每小題2分,共16分)
1.
某演算法的空間花費s(n)=100nlog2n+0.5n1.5+1000n+2000,其空間複雜度為
[ ]
a.o(1) b.o(n)
c.o(n1.5) d.o(nlog2n)
2.在單項鍊表中刪除乙個指定結點的後繼的時間複雜度為
[ ]
a.o(n) b.o(nlog2n)
c.o(1) d.o(√n)
3.在n(n>0)個元素的順序棧中刪除1個元素的時間複雜度為
[ ]
a.o(1) b.o(√n)
c.o(nlog2n) d.o(n)
4.對長度為n的字串進行字元定位運算的時間複雜度為
[ ]
a.o(1) b.o(√n)
c.o(nlog2n) d.o(n)
5.廣義表的深度是
[ ]
a.廣義表中子表個數 b.廣義表括號個數
c.廣義表展開後所含的括號層數 d.廣義表中元素個數
6.高度為h(h>0)的二叉樹最少有________個結點
[ ]
a.h b.h-1
c.h+1 d.2h
7.n個頂點的帶權無向連通圖的最小生成樹包含________個頂點
[ ]
a.n-1 b.n
c.n/2 d.n+1
8.氣泡排序在最好情況下時間複雜度為
[ ]
a.o(1) b.o(nlog2n)
c.o(n) d.o(n2)
9.採用拉鍊法解決衝突的雜湊表中,查詢的平均查詢長度
[ ]
a.直接與關鍵字個數有關 b.直接與裝填因子a有關
c.直接與表的容量有關 d.直接與雜湊函式有關
10.經常修改的索引檔案宜採用________做索引。
a.二叉排序樹 b.滿二叉樹
c.多叉樹 d.b+樹
第二部分 非選擇題 (共80分)
二、填空題 (本大題共10小題,每空2分,共20分)
11.某演算法需要的輔助空間為s(n)=10log2n+2000/n+5,則該演算法的空間複雜度為_______________。
12.在n個結點的單鏈表中,在p指向的結點之後插入乙個結點的時間複雜度為_______________。
13.設sq為迴圈佇列,儲存在陣列d[m]中,則sq出隊操作對其隊頭指標front的修改是_______________。
14.串中所含字元個數稱為該串的_______________。
15.tail(tail(a,b))=_______________
。16.n(n>0)
個結點二叉樹對應的森林最多包含_______________棵非空樹。
17.深度為n(n>0)的二叉樹最多有_______________個結點。
18.n(n>0)
個結點、(n-1)條邊的連通無向圖中,頂點度數最大值為_______________。
19.堆排序的空間複雜度_______________。
20.倒排檔案有_______________和主檔案構成。
三、簡答題 (本大題共5小題,每小題6分,共30分)
21.設有函式:
void fuc(int n)
函式fuc餓時間複雜度是多少?
22.把1、2、3、4依次進棧(棧初始為空),任何時刻(只要棧不空),都可以出(退)棧,試寫出所有可能的出棧序列(如1234)。
23.若一二叉樹有2度結點100個,則其葉結點有多少個?該二叉樹可以有多少個1度頂點?
24.請畫出廣義表d的圖形表示
d=(d,(a,b),((a,b),c),())
25.有向圖(帶權)g如下所示:
試給出用迪傑斯特拉(dijkstra)演算法求上圖a到其它各頂點最短路徑得到的陣列p各元素值(a、b、c、d、e、f編號依次是1、2、3、4、5)。
四、理解題 (本大題共2小題,每小題6分,共12分)
26.指出下面函式f的功能及返回值的含義。
int f(char s1,char s2)
flag;
typedef char datatype;
typedef struct nodebinnode;
binnode * fs(binnode *p)
五、演算法填充題 (本大題共1小題,18分)
28.下面函式diff的功能是:根據兩個由整數(都大於-32768)按公升序構成的單鏈表l1和l2(分別由a,b指向)構造乙個單鏈表l3(由*r指向),要求l3中的所有整數都是l1並且不是l2中的整數,還要求l3中的所有整數都兩兩不等。在空缺處填上適當字句,使其能正確工作。
#include
typedef struct node node;
void diff (node *a, node *b, node **r)
else if (a->d > b->d)
b=b->next
else
while (a)
}
資料結構筆試題
一 如何判斷乙個單鏈表是有環的?注意不能用標誌位,最多只能用兩個額外指標 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 快速排序,時間複雜度...