寧波大學(xué)數(shù)據(jù)結(jié)構(gòu)試題庫

上傳人:20****08 文檔編號(hào):60772331 上傳時(shí)間:2022-03-09 格式:DOC 頁數(shù):103 大?。?95KB
收藏 版權(quán)申訴 舉報(bào) 下載
寧波大學(xué)數(shù)據(jù)結(jié)構(gòu)試題庫_第1頁
第1頁 / 共103頁
寧波大學(xué)數(shù)據(jù)結(jié)構(gòu)試題庫_第2頁
第2頁 / 共103頁
寧波大學(xué)數(shù)據(jù)結(jié)構(gòu)試題庫_第3頁
第3頁 / 共103頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《寧波大學(xué)數(shù)據(jù)結(jié)構(gòu)試題庫》由會(huì)員分享,可在線閱讀,更多相關(guān)《寧波大學(xué)數(shù)據(jù)結(jié)構(gòu)試題庫(103頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、精選優(yōu)質(zhì)文檔-----傾情為你奉上 一、?????????????????? 單選題(每題 2 分,共20分) 1. 1.???? 對一個(gè)算法的評價(jià),不包括如下(B )方面的內(nèi)容。 A.健壯性和可讀性 B.并行性 C.正確性 D.時(shí)空復(fù)雜度 2. 2.???? 在帶有頭結(jié)點(diǎn)的單鏈表HL中,要向表頭插入一個(gè)由指針p指向的結(jié)點(diǎn),則執(zhí)行( )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL;

2、 D. HL=p; p->next=HL; 3. 3.???? 對線性表,在下列哪種情況下應(yīng)當(dāng)采用鏈表表示?( ) A.經(jīng)常需要隨機(jī)地存取元素 B.經(jīng)常需要進(jìn)行插入和刪除操作 C.表中元素需要占據(jù)一片連續(xù)的存儲(chǔ)空間 D.表中元素的個(gè)數(shù)不變 4. 4.???? 一個(gè)棧的輸入序列為1 2 3,則下列序列中不可能是棧的輸出序列的是( C ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. 5.???? AOV網(wǎng)是一種( )。

3、 A.有向圖 B.無向圖 C.無向無環(huán)圖 D.有向無環(huán)圖 6. 6.???? 采用開放定址法處理散列表的沖突時(shí),其平均查找長度( )。 A.低于鏈接法處理沖突 B. 高于鏈接法處理沖突 C.與鏈接法處理沖突相同 D.高于二分查找 7. 7.???? 若需要利用形參直接訪問實(shí)參時(shí),應(yīng)將形參變量說明為( )參數(shù)。 A.值 B.函數(shù) C.指針 D.引用 8. 8.???? 在稀疏矩陣的帶行指針向量的鏈接存儲(chǔ)中,每個(gè)單鏈表中的結(jié)點(diǎn)都具有相同的( )。 A.行號(hào)

4、 B.列號(hào) C.元素值 D.非零元素個(gè)數(shù) 9. 9.???? 快速排序在最壞情況下的時(shí)間復(fù)雜度為( )。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10. 10. 從二叉搜索樹中查找一個(gè)元素時(shí),其時(shí)間復(fù)雜度大致為( )。 A. O(n) B. O(1) C. O(log2n) D. O(n2) ? 二、 二、?????????????????? 運(yùn)算題(每題 6 分,共24分) 1. 1.??????? 數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)及其相互之間的

5、______________。當(dāng)結(jié)點(diǎn)之間存在M對N(M:N)的聯(lián)系時(shí),稱這種結(jié)構(gòu)為_____________________。 2. 2.??????? 隊(duì)列的插入操作是在隊(duì)列的___尾______進(jìn)行,刪除操作是在隊(duì)列的____首______進(jìn)行。 3. 3.??????? 當(dāng)用長度為N的數(shù)組順序存儲(chǔ)一個(gè)棧時(shí),假定用top==N表示棧空,則表示棧滿的條件是___top==0___(要超出才為滿)_______________。 4. 4.??????? 對于一個(gè)長度為n的單鏈存儲(chǔ)的線性表,在表頭插入元素的時(shí)間復(fù)雜度為_________,在表尾插入元素的時(shí)間復(fù)雜度為___________

6、_。 5. 5.??????? 設(shè)W為一個(gè)二維數(shù)組,其每個(gè)數(shù)據(jù)元素占用4個(gè)字節(jié),行下標(biāo)i從0到7 ,列下標(biāo)j從0到3 ,則二維數(shù)組W的數(shù)據(jù)元素共占用__(dá)_____個(gè)字節(jié)。W中第6 行的元素和第4 列的元素共占用__(dá)_______個(gè)字節(jié)。若按行順序存放二維數(shù)組W,其起始地址為100,則二維數(shù)組元素W[6,3]的起始地址為__(dá)________。 6. 6.??????? 廣義表A= (a,(a,b),((a,b),c)),則它的深度為____________,它的長度為____________。 7. 7.??????? 二叉樹是指度為2的____________________樹。一棵結(jié)點(diǎn)

7、數(shù)為N的二叉樹,其所有結(jié)點(diǎn)的度的總和是_____________。 8. 8.??????? 對一棵二叉搜索樹進(jìn)行中序遍歷時(shí),得到的結(jié)點(diǎn)序列是一個(gè)______________。對一棵由算術(shù)表達(dá)式組成的二叉語法樹進(jìn)行后序遍歷得到的結(jié)點(diǎn)序列是該算術(shù)表達(dá)式的__________________。 9. 9.??????? 對于一棵具有n個(gè)結(jié)點(diǎn)的二叉樹,用二叉鏈表存儲(chǔ)時(shí),其指針總數(shù)為_____________個(gè),其中_______________個(gè)用于指向孩子,_________________個(gè)指針是空閑的。 10. 10.??? 若對一棵完全二叉樹從0開始進(jìn)行結(jié)點(diǎn)的編號(hào),并按此編號(hào)把它順序存

8、儲(chǔ)到一維數(shù)組A中,即編號(hào)為0的結(jié)點(diǎn)存儲(chǔ)到A[0]中。其余類推,則A[ i ]元素的左孩子元素為________,右孩子元素為_______________,雙親元素為____________。 11. 11.??? 在線性表的散列存儲(chǔ)中,處理沖突的常用方法有________________________和_____________________________兩種。 12. 12.??? 當(dāng)待排序的記錄數(shù)較大,排序碼較隨機(jī)且對穩(wěn)定性不作要求時(shí),宜采用_______________排序;當(dāng)待排序的記錄數(shù)較大,存儲(chǔ)空間允許且要求排序是穩(wěn)定時(shí),宜采用_____________________

9、___排序。 ? 三、 三、?????????????????? 運(yùn)算題(每題6分,共24分) 1. 1.??????? 已知一個(gè)6′5稀疏矩陣如下所示, ? ? ? 試: (1) (1)??????? 寫出它的三元組線性表; (2) (2)??????? 給出三元組線性表的順序存儲(chǔ)表示。 2. 2.??????? 設(shè)有一個(gè)輸入數(shù)據(jù)的序列是 { 46, 25, 78, 62, 12, 80 }, 試畫出從空樹起,逐個(gè)輸入各個(gè)數(shù)據(jù)而生成的二叉搜索樹。 3. 3.??????? 對于圖6所示的有向圖若存儲(chǔ)它采用鄰接表,并且每個(gè)頂點(diǎn)鄰接表中的邊結(jié)點(diǎn)都是按照終點(diǎn)序號(hào)從

10、小到大的次序鏈接的,試寫出: (1) 從頂點(diǎn)①出發(fā)進(jìn)行深度優(yōu)先搜索所得到的深度優(yōu)先生成樹; (2) 從頂點(diǎn)②出發(fā)進(jìn)行廣度優(yōu)先搜索所得到的廣度優(yōu)先生成樹; 4. 4.??????? 已知一個(gè)圖的頂點(diǎn)集V和邊集E分別為: 圖6 V={1,2,3,4,5,6,7}; E={<2,1>,<3,2>,<3,6>,<4,3>,<4,5>,<4,6>,<5,1>,<5,7>,<6,1>,<6,2>,<6,5>}; 若存儲(chǔ)它采用鄰接表,并且每個(gè)頂點(diǎn)鄰接表中的邊結(jié)點(diǎn)都是按照終點(diǎn)序號(hào)從小到大的次序鏈接的,按主教材中介紹的拓樸排序算法進(jìn)行排序,試給出得到的拓樸排序的序列。 ?

11、 四、 四、?????????????????? 閱讀算法(每題7分,共14分) 1. 1.???????????????????? int Prime(int n) { int i=1; int x=(int) sqrt(n); while (++i<=x) if (n%i==0) break; if (i>x) return 1; else return 0; } (1) (1)???? 指出該算法的功能; (2) (2)???? 該算法的時(shí)間復(fù)雜度是多少? 2. 2.??????????????????

12、?? 寫出下述算法的功能: void AJ(adjlist GL, int i, int n) { Queue Q; InitQueue(Q); cout<

13、 { int j=p->adjvex; if(!visited[j]) { cout<next; } } } ? 五、 五、?????????????????? 算法填空(共8分) 如下為二分查找的非遞歸算法,試將

14、其填寫完整。 Int Binsch(ElemType A[ ],int n,KeyType K) { int low=0; int high=n-1; while (low<=high) { int mid=_______________________________; if (K==A[mid].key) return mid; //查找成功,返回元素的下標(biāo) else if (K<[mid].key) ______________________________________; //在左子表上繼續(xù)查找 else _

15、_________________________________; //在右子表上繼續(xù)查找 } return -1; //查找失敗,返回-1 } ? 六、 六、?????????????????? 編寫算法(共8分) HL是單鏈表的頭指針,試寫出刪除頭結(jié)點(diǎn)的算法。 ElemType DeleFront(LNode * & HL) ? ? 參考答案 一、 一、???????????????????? 單選題(每題2分,共20分) 1.B 2.A 3.B 4.C 5.D 6.B 7.D 8.A 9.D 10.C 二、

16、 二、???????????????????? 填空題(每空1分,共26分) 1. 1.???????? 聯(lián)系 圖(或圖結(jié)構(gòu)) 2. 2.???????? 尾 首 3. 3.???????? top==0 4. 4.???????? O(1) O(n) 5. 5.???????? 128 44 108 6. 6.???????? 3 3 7. 7.???????? 6 5 5 1 5 1 3 2 -1 4 5 -2 5 1 5 6 3 7 圖7 有序 n-1 8. 8.????????

17、 有序序列 后綴表達(dá)式(或逆波蘭式) 9. 9.???????? 2n n-1 n+1 10. 10.???? 2i+1 2i+2 (i-1)/2 11. 11.???? 開放定址法 鏈接法 12. 12.???? 快速 歸并 三、 三、???????????????????? 運(yùn)算題(每題6分,共24分) 1. 1.???????? (1) ((1,5,1),(3,2,-1),(4,5,-2),(5,1,5),(6,3,7)) (3分) (2) 三元組線性表的順序存儲(chǔ)表示如圖7示。 2. 2.??

18、?????? 圖8 如圖8所示。 3. 3.???????? DFS:????… BFS:???…? 4. 4.???????? 拓樸排序?yàn)椋?4 3 6 5 7 2 1 四、 四、????????????????????? 閱讀算法(每題7分,共14分) 1. 1.???????? (1) 判斷n是否是素?cái)?shù)(或質(zhì)數(shù)) (2)O() 2. 2.???????? 功能為:從初始點(diǎn)vi出發(fā)廣度優(yōu)先搜索由鄰接表GL所表示的圖。 五、 五、????????????????????? 算法填空(8 分) (low+high

19、)/2 high=mid-1 low=mid+1 六、 六、????????????????????? 編寫算法(8分) ElemType DeleFront(LNode * & HL) { if (HL==NULL){ cerr<<"空表"<next; ElemType temp=p->data; delete p; return temp; } ? ? 一、 一、?????????????????? 單選題(每題

20、2 分,共20分) 1. 1.???? 棧和隊(duì)列的共同特點(diǎn)是( )。 A.只允許在端點(diǎn)處插入和刪除元素 B.都是先進(jìn)后出 C.都是先進(jìn)先出 D.沒有共同點(diǎn) 2. 2.???? 用鏈接方式存儲(chǔ)的隊(duì)列,在進(jìn)行插入運(yùn)算時(shí)( ). A. 僅修改頭指針   B. 頭、尾指針都要修改 C. 僅修改尾指針 D.頭、尾指針可能都要修改 3. 3.???? 以下數(shù)據(jù)結(jié)構(gòu)中哪一個(gè)是非線性結(jié)構(gòu)?( ) A. 隊(duì)列    B. 棧 C. 線性表    D

21、. 二叉樹 4. 4.???? 設(shè)有一個(gè)二維數(shù)組A[m][n],假設(shè)A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每個(gè)元素占一個(gè)空間,問A[3][3](10)存放在什么位置?腳注(10)表示用10進(jìn)制表示。 A.688 B.678 C.692 D.696 5. 5.???? 樹最適合用來表示( )。 A.有序數(shù)據(jù)元素 B.無序數(shù)據(jù)元素 C.元素之間具有分支層次關(guān)系的數(shù)據(jù) D.元素之間無聯(lián)系的數(shù)據(jù) 6. 6.???

22、? 二叉樹的第k層的結(jié)點(diǎn)數(shù)最多為( ). A.2k-1 B.2K+1 C.2K-1    D. 2k-1 7. 7.???? 若有18個(gè)元素的有序表存放在一維數(shù)組A[19]中,第一個(gè)元素放A[1]中,現(xiàn)進(jìn)行二分查找,則查找A[3]的比較序列的下標(biāo)依次為( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 8. 8.???? 對n個(gè)記錄的文件進(jìn)行快速排序,所需要的輔助存儲(chǔ)空間大致為 A. O(1)   B. O(n)   C. O(1og2

23、n) D. O(n2) 9. 9.???? 對于線性表(7,34,55,25,64,46,20,10)進(jìn)行散列存儲(chǔ)時(shí),若選用H(K)=K %9作為散列函數(shù),則散列地址為1的元素有( )個(gè), A.1 B.2 C.3 D.4 10. 10. 設(shè)有6個(gè)結(jié)點(diǎn)的無向圖,該圖至少應(yīng)有( )條邊才能確保是一個(gè)連通圖。 A.5 B.6 C.7 D.8 ? 二、 二、?????????????????? 填空題(每空1分,共26分) 1. 1.??????? 通常

24、從四個(gè)方面評價(jià)算法的質(zhì)量:_________、_________、_________和_________。 2. 2.??????? 一個(gè)算法的時(shí)間復(fù)雜度為(n3+n2log2n+14n)/n2,其數(shù)量級(jí)表示為________。 3. 3.??????? 假定一棵樹的廣義表表示為A(C,D(E,F(xiàn),G),H(I,J)),則樹中所含的結(jié)點(diǎn)數(shù)為__________個(gè),樹的深度為___________,樹的度為_________。 4. 4.??????? 后綴算式9 2 3 +- 10 2 / -的值為__________。中綴算式(3+4X)-2Y/3對應(yīng)的后綴算式為_______

25、________________________。 5. 5.??????? 若用鏈表存儲(chǔ)一棵二叉樹時(shí),每個(gè)結(jié)點(diǎn)除數(shù)據(jù)域外,還有指向左孩子和右孩子的兩個(gè)指針。在這種存儲(chǔ)結(jié)構(gòu)中,n個(gè)結(jié)點(diǎn)的二叉樹共有________個(gè)指針域,其中有________個(gè)指針域是存放了地址,有________________個(gè)指針是空指針。 6. 6.??????? 對于一個(gè)具有n個(gè)頂點(diǎn)和e條邊的有向圖和無向圖,在其對應(yīng)的鄰接表中,所含邊結(jié)點(diǎn)分別有_______個(gè)和________個(gè)。 7. 7.??????? AOV網(wǎng)是一種___________________的圖。 8. 8.??????? 在一個(gè)具有n個(gè)

26、頂點(diǎn)的無向完全圖中,包含有________條邊,在一個(gè)具有n個(gè)頂點(diǎn)的有向完全圖中,包含有________條邊。 9. 9.??????? 假定一個(gè)線性表為(12,23,74,55,63,40),若按Key % 4條件進(jìn)行劃分,使得同一余數(shù)的元素成為一個(gè)子表,則得到的四個(gè)子表分別為____________________________、___________________、_______________________和__________________________。 10. 10.??? 向一棵B_樹插入元素的過程中,若最終引起樹根結(jié)點(diǎn)的分裂,則新樹比原樹的高度_________

27、__。 11. 11.??? 在堆排序的過程中,對任一分支結(jié)點(diǎn)進(jìn)行篩運(yùn)算的時(shí)間復(fù)雜度為________,整個(gè)堆排序過程的時(shí)間復(fù)雜度為________。 12. 12.??? 在快速排序、堆排序、歸并排序中,_________排序是穩(wěn)定的。 ? 三、 三、?????????????????? 運(yùn)算題(每題 6 分,共24分) 1. 1.??????? 在如下數(shù)組A中鏈接存儲(chǔ)了一個(gè)線性表,表頭指針為A [0].next,試寫出該線性表。 A 0 1 2 3 4 5 6 7 data ?

28、 60 50 78 90 34 ? 40 next 3 5 7 2 0 4 ? 1 2. 2.??????? 圖10 請畫出圖10的鄰接矩陣和鄰接表。 3. 3.??????? 已知一個(gè)圖的頂點(diǎn)集V和邊集E分別為: V={1,2,3,4,5,6,7}; E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15, (3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25}; 用克魯斯卡爾算法得到最小生成樹,試寫出在最小生成樹中依次得到的各條

29、邊。 4. 4.??????? 畫出向小根堆中加入數(shù)據(jù)4, 2, 5, 8, 3時(shí),每加入一個(gè)數(shù)據(jù)后堆的變化。 ? 四、 四、?????????????????? 閱讀算法(每題7分,共14分) 1. 1.???? LinkList mynote(LinkList L) {//L是不帶頭結(jié)點(diǎn)的單鏈表的頭指針 if(L&&L->next){ q=L;L=L->next;p=L; S1: while(p->next) p=p->next; S2: p

30、->next=q;q->next=NULL; } return L; } 請回答下列問題: (1)說明語句S1的功能; (2)說明語句組S2的功能; (3)設(shè)鏈表表示的線性表為(a1,a2, …,an),寫出算法執(zhí)行后的返回值所表示的線性表。 2. 2.???? void ABC(BTNode * BT) { if BT { ABC (BT->left); ABC (BT->right);

31、 cout<data<<' '; } } 該算法的功能是: ? 五、 五、?????????????????? 算法填空(共8分) 二叉搜索樹的查找——遞歸算法: bool Find(BTreeNode* BST,ElemType& item) { if (BST==NULL) return false; //查找失敗 else { if (item==BST->data){ item=BST->data;//查找成功

32、 return ___________;} else if(itemdata) return Find(______________,item); else return Find(_______________,item); }//if } ? 六、 六、?????????????????? 編寫算法(共8分) 統(tǒng)計(jì)出單鏈表HL中結(jié)點(diǎn)的值等于給定值X的結(jié)點(diǎn)數(shù)。 int CountX(LNode* HL,ElemType x) ?

33、? 參考答案 一、 一、????????????????????? 單選題(每題2分,共20分) 1.A 2.D 3.D 4.C 5.C 6.D 7.D 8.C 9.D 10.A 二、 二、????????????????????? 填空題(每空1分,共26分) 1. 1.???? 正確性 易讀性 強(qiáng)壯性 高效率 2. 2.???? O(n) 3. 3.???? 9 3 3 4. 4.???? -1 3 4 X * + 2 Y * 3 / - 5. 5.???? 2n n-1 n+1 6. 6.?

34、??? e 2e 7. 7.???? 有向無回路 8. 8.???? n(n-1)/2 n(n-1) 9. 9.???? (12,40) ( ) (74) (23,55,63) 10. 10.? 增加1 11. 11.? O(log2n) O(nlog2n) 12. 12.? 歸并 三、 三、????????????????????? 運(yùn)算題(每題6分,共24分) 1. 1.???? 線性表為:(78,50,40,60,34,90) 2. 2.???? 鄰接矩陣: 鄰接表如圖11所示: 圖11 3. 3.???? 用克魯

35、斯卡爾算法得到的最小生成樹為: (1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)20 4. 4.???? 見圖12 4 4 4 4 4 2 2 2 5 5 2 8 5 2 8 3 4 5 2 8 4 3 ? ? ? ? ? ? ? ? ? ? 圖12 四、 四、????????????????????? 閱讀算法(每題7分,共14分) 1. 1.???? (1)查詢鏈

36、表的尾結(jié)點(diǎn) (2)將第一個(gè)結(jié)點(diǎn)鏈接到鏈表的尾部,作為新的尾結(jié)點(diǎn) (3)返回的線性表為(a2,a3,…,an,a1) 2. 2.???? 遞歸地后序遍歷鏈?zhǔn)酱鎯?chǔ)的二叉樹。 五、 五、????????????????????? 算法填空(每空2分,共8 分) true BST->left BST->right 六、 六、????????????????????? 編寫算法(8分) int CountX(LNode* HL,ElemType x) { int i=0; LNode* p=HL;//i為計(jì)數(shù)器 while(p!=N

37、ULL) { if (P->data==x) i++; p=p->next; }//while, 出循環(huán)時(shí)i中的值即為x結(jié)點(diǎn)個(gè)數(shù) return i; }//CountX ? ? ? 一、 一、??????????? 單選題(每小題2分,共8分) 1、 1、在一個(gè)長度為n的順序線性表中順序查找值為x的元素時(shí),查找成功時(shí)的平均查找長度(即x與元素的平均比較次數(shù),假定查找每個(gè)元素的概

38、率都相等)為 ( )。 A n B n/2 C (n+1)/2 D (n-1)/2 2、 2、在一個(gè)單鏈表中,若q所指結(jié)點(diǎn)是p所指結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn),若在q與p之間插入一個(gè)s所指的結(jié)點(diǎn),則執(zhí)行( )。 A s→link=p→link; p→link=s; B p→link=s; s→link=q; C p→link=s→link; s→link=p; D q →link=s; s→link =p; 3、 3、????? 棧的插入和刪除操作在( )進(jìn)行。 A 棧頂

39、 B 棧底 C 任意位置 D 指定位置 4、 4、????? 由權(quán)值分別為11,8,6,2,5的葉子結(jié)點(diǎn)生成一棵哈夫曼樹,它的帶權(quán)路徑長度為( ) A 24 B 71 C 48 D 53 二、 二、??????????? 填空題(每空1分,共32分) 1、 1、數(shù)據(jù)的邏輯結(jié)構(gòu)被分為__________、 ___________ 、________和________四種。 2、 2、一種抽象數(shù)據(jù)類型包括______________和_____________兩個(gè)部分。 3、 3、在下面的數(shù)組a

40、中鏈接存儲(chǔ)著一個(gè)線性表,表頭指針為a[o].next,則該線性表為_________________________________________________。 a 0 1 2 3 4 5 6 7 8 ? 60 56 42 38 ? 74 25 ? 4 3 7 6 2 0 1 ? data next ? 4、 4、在以HL為表頭指針的帶表頭附加結(jié)點(diǎn)的單鏈表和循環(huán)單鏈表中,判斷鏈表為空的條件

41、分別為________________和____________________。 5、 5、用具有n個(gè)元素的一維數(shù)組存儲(chǔ)一個(gè)循環(huán)隊(duì)列,則其隊(duì)首指針總是指向隊(duì)首元素的___________,該循環(huán)隊(duì)列的最大長度為__________。 6、 6、當(dāng)堆棧采用順序存儲(chǔ)結(jié)構(gòu)時(shí),棧頂元素的值可用———————表示;當(dāng)堆棧采用鏈接存儲(chǔ)結(jié)構(gòu)時(shí),棧頂元素的值可用_______________表示。 7、 7、一棵高度為5的二叉樹中最少含有_________個(gè)結(jié)點(diǎn),最多含有________個(gè)結(jié)點(diǎn); 一棵高度為5的理想平衡樹中,最少含有_________個(gè)結(jié)點(diǎn),最多含有_________個(gè)結(jié)點(diǎn)。 8、

42、 8、在圖的鄰接表中,每個(gè)結(jié)點(diǎn)被稱為____________,通常它包含三個(gè)域:一是_____________;二是___________;三是_____________。 9、 9、在一個(gè)索引文件的索引表中,每個(gè)索引項(xiàng)包含對應(yīng)記錄的_________和___________兩項(xiàng)數(shù)據(jù)。 10、 10、??????????? 假定一棵樹的廣義表表示為A(B(C,D(E,F(xiàn),G),H(I,J))),則樹中所含的結(jié)點(diǎn)數(shù)為_________個(gè),樹的深度為_________,樹的度為________, 結(jié)點(diǎn)H的雙親結(jié)點(diǎn)為________,孩子結(jié)點(diǎn)為_______________ 。 11、 11、

43、??????????? 在堆排序的過程中,對任一分支結(jié)點(diǎn)進(jìn)行篩運(yùn)算的時(shí)間復(fù)雜度為_________,整個(gè)堆排序過程的時(shí)間復(fù)雜度為________________。 12、 12、??????????? 在對m階的B_樹插入元素的過程中,每向一個(gè)結(jié)點(diǎn)插入一個(gè)索引項(xiàng)(葉子結(jié)點(diǎn)中的索引項(xiàng)為關(guān)鍵字和空指針)后,若該結(jié)點(diǎn)的索引項(xiàng)數(shù)等于______個(gè),則必須把它分裂為_______個(gè)結(jié)點(diǎn)。 ? 三、 三、??????????? 運(yùn)算題(每小題6分,共24分) 1、 1、已知一組記錄的排序碼為(46,79,56,38,40,80, 95,24),寫出對其進(jìn)行快速排序的每一次劃分結(jié)果。 ? 2、

44、 2、一個(gè)線性表為B=(12,23,45,57,20,03,78,31,15,36),設(shè)散列表為HT[0..12],散列函數(shù)為H(key)= key % 13并用線性探查法解決沖突,請畫出散列表,并計(jì)算等概率情況下查找成功的平均查找長度。 ? 3、 3、已知一棵二叉樹的前序遍歷的結(jié)果序列是ABECKFGHIJ,中序遍歷的結(jié)果是EBCDAFHIGJ,試寫出這棵二叉樹的后序遍歷結(jié)果。 ? ? 4、 4、已知一個(gè)圖的頂點(diǎn)集V各邊集G如下: V = {0,1,2,3,4,5,6,7,8,9}; E = {(0,1),(0,4),(1,2),(1,7),(2,8),(3,4),(3 ,8)

45、,(5,6),(5,8),(5,9),(6,7),(7,8),(8,9)} 當(dāng)它用鄰接矩陣表示和鄰接表表示時(shí),分別寫出從頂點(diǎn)V0出發(fā)按深度優(yōu)先搜索遍歷得到的頂點(diǎn)序列和按廣度優(yōu)先搜索遍歷等到的頂點(diǎn)序列。 假定每個(gè)頂點(diǎn)鄰接表中的結(jié)點(diǎn)是按頂點(diǎn)序號(hào)從大到小的次序鏈接的。 圖 深度優(yōu)先序列 廣度優(yōu)先序列 鄰接矩陣表示時(shí) ? ? 鄰接表表示時(shí) ? ? ? ? ? ? 四、 四、??????????? 閱讀算法,回答問題(每小題8分,共16分) ? 1、假定從鍵盤上輸入一批整數(shù),依次為

46、:78 63 45 30 91 34 –1,請寫出輸出結(jié)果。 # include < iostream.h> # include < stdlib.h > consst int stackmaxsize = 30; typedef int elemtype; struct stack { elemtype stack [stackmaxsize]; int top; }; # include “stack.h” Void main ( ) { stack a; initstack(a); int x; cin >>x;

47、while (x! = -1) { push (a, x ); cin >>x; } while (!stackempty (a)) cout <

48、e > void BinTree :: unknown (BinTreeNode*t) { BinTreeNode< Type> *p =t, *temp; if (p!=NULL) { temp = p→leftchild; p→leftchild = p→rightchild; p→rightchild = temp; unknown(p→leftchild); undnown(p→rightchild); } } 該算法的功能

49、是:________________________________ ? 五、 五、??????????? 算法填空,在畫有橫線的地方填寫合適的內(nèi)容(10分) ? 對順序存儲(chǔ)的有序表進(jìn)行二分查找的遞歸算法 。 int Binsch( ElemType A[ ],int low ,int high,KeyType K ) { if (low <= high) { int mid = 1 if ( K= = A[ mid ].key ) return mid; else if

50、 ( K < A[mid].key) return 2 else return 3 } else return 4 ? 六、 六、??????????? 編寫算法(10分) ? 編寫算法,將一個(gè)結(jié)點(diǎn)類型為Lnode的單鏈表按逆序鏈接,即若原單鏈表中存儲(chǔ)元素的次序?yàn)閍1,……an-1,an,則逆序鏈接后變?yōu)? an,an-1,……a1。 Void contrary (Lnode * & HL) ? ? 數(shù)據(jù)結(jié)構(gòu)試題(答案)

51、 一、單選題(每小題2分,共8分) 題 號(hào) 1 2 3 4 答 案 C D A B 二、填空題(每空1分,共32分) 1: 集合、線性、樹、圖; 2: 數(shù)據(jù)描述、操作聲名; 3: (38,56,25,60,42,74); 4: HL→next =NULL; HL=HL→next; 5: 前一個(gè)位置; n-1; 6: S.stack [S.top]; HS→data; 7: 5 31 8: 邊結(jié)點(diǎn)、鄰接點(diǎn)域、權(quán)域、鏈域; 9: 索引值域、開始位置域; 10:

52、10、3、3、B、I和J; 11: O(log2n)、O(nlog2n); 12: m 、 m - 1 三、運(yùn)算題(每小題6分,共24分) 1、 劃分次序 劃分結(jié)果 第一次 [38 24 40] 46 [56 80 95 79] 第二次 24 [38 40] 46 [56 80 95 79] 第三次 24 38 40 46 [56 80 95 79] 第四次 24 38 40 46 56 [80 95 79] 第五次 24 38 40 46 56 79 [80 95] 第六次 24 38

53、 40 46 56 79 80 95 ? 2、 0 1 2 3 4 5 6 7 8 9 10 11 12 ? ? 78 ? 15 03 ? 57 45 20 31 ? 23 36 12 ? 查找成功的平均查找長度:ASL SUCC=14/10= 1.4 3、此二叉樹的后序遍歷結(jié)果是:EDCBIHJGFA 4、 圖 深度優(yōu)先序列 廣度優(yōu)先序列 鄰接矩陣表示時(shí) 0,1,2,8,3,4,5,6,7,9 0,1,4,2,7,3,8,6,5

54、,9 鄰接表表示時(shí) 0,4,3,8,9,5,6,7,1,2 0,4,1,3,7,2,8,6,9,5 四、閱讀算法,回答問題(每小題8分,共16分) 1、 1、? 該算法的輸入結(jié)果是:34 91 30 45 63 78 2、 2、? 該算法的功能是:交換二叉樹的左右子樹的遞歸算法。 五、算法填空,在畫有橫線的地方填寫合適的內(nèi)容(10分) 1、1是:(low + high)/2; 2是: Binsch(A,low,mid–1,K); 3是: Binsch(A,mid+1,high,K); 4是: -1; 六、編寫算法(10分) 根據(jù)編程情況,酌

55、情給分。 { Lnode *P=HL; HL=NULL; While (p!=null) { Lnode*q=p; P=p→next; q→next=HL; HL=q; } } 第一部分 選擇題(30分) ? 一、 一、項(xiàng)選擇題(本大題共15小題,每小題2分,共30分)在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請將正確選項(xiàng)前的字母填在題后的括號(hào)內(nèi)。 1.算法指的是( ) A.計(jì)算機(jī)程序 B.解決問題的計(jì)算方法 C.排

56、序算法 D.解決問題的有限運(yùn)算序列 2.線性表采用鏈?zhǔn)酱鎯?chǔ)時(shí),結(jié)點(diǎn)的存儲(chǔ)地址( ) A.必須是不連續(xù)的 B.連續(xù)與否均可 C.必須是連續(xù)的 D.和頭結(jié)點(diǎn)的存儲(chǔ)地址相連續(xù) 3.將長度為n的單鏈表鏈接在長度為m的單鏈表之后的算法的時(shí)間復(fù)雜度為( ) A.O(1) B.O(n) C.O(m) D.O(m+n) 4.由兩個(gè)棧共享一個(gè)向量空間的好處是:( ) A.減少存取時(shí)間,降低下溢發(fā)生的機(jī)率 B.節(jié)省存儲(chǔ)空間,降低上溢發(fā)生的機(jī)率 C.減少存取時(shí)間,降低

57、上溢發(fā)生的機(jī)率 D.節(jié)省存儲(chǔ)空間,降低下溢發(fā)生的機(jī)率 5.設(shè)數(shù)組data[m]作為循環(huán)隊(duì)列SQ的存儲(chǔ)空間,front為隊(duì)頭指針,rear為隊(duì)尾指針,則執(zhí)行出隊(duì)操作后其頭指針front值為( ) A.front=front+1 B.front=(front+1)%(m-1) C.front=(front-1)%m D.front=(front+1)%m 6.如下陳述中正確的是( ) A.串是一種特殊的線性表 B.串的長度必須大于零 C.串中元素只能是字母

58、D.空串就是空白串 7.若目標(biāo)串的長度為n,模式串的長度為[n/3],則執(zhí)行模式匹配算法時(shí),在最壞情況下的時(shí)間復(fù)雜度是( ) A.O() B.O(n) C.O(n2) D.O(n3) 8.一個(gè)非空廣義表的表頭( ) A.不可能是子表 B.只能是子表 C.只能是原子 D.可以是子表或原子 9.假設(shè)以帶行表的三元組表表示稀疏矩陣,則和下列行表 0 2 3 3 5 對應(yīng)的稀疏矩陣是( )

59、 10.在一棵度為3的樹中,度為3的結(jié)點(diǎn)個(gè)數(shù)為2,度為2 的結(jié)點(diǎn)個(gè)數(shù)為1,則度為0的結(jié)點(diǎn)個(gè)數(shù)為( ) A.4 B.5 C.6 D.7 11.在含n個(gè)頂點(diǎn)和e條邊的無向圖的鄰接矩陣中,零元素的個(gè)數(shù)為( ) A.e B.2e C.n2-e D.n2-2e 12.假設(shè)一個(gè)有n個(gè)頂點(diǎn)和e條弧的有向圖用鄰接表表示,則刪除與某個(gè)頂點(diǎn)vi相關(guān)的所有弧的時(shí)間復(fù)雜度是( ) A.O(n) B.O(e)

60、 C.O(n+e) D.O(n*e) 13.用某種排序方法對關(guān)鍵字序列(25,84,21,47,15,27,68,35,20)進(jìn)行排序時(shí),序列的變化情況如下: 20,15,21,25,47,27,68,35,84 15,20,21,25,35,27,47,68,84 15,20,21,25,27,35,47,68,84 則所采用的排序方法是( ) A.選擇排序 B.希爾排序 C.歸并排序 D.快速排序 14.適于對動(dòng)態(tài)查找表進(jìn)行高效率查找的組織結(jié)構(gòu)是( ) A.有序

61、表 B.分塊有序表 C.三叉排序樹 D.線性鏈表 15.不定長文件是指( ) A.文件的長度不固定 B.記錄的長度不固定 C.字段的長度不固定 D.關(guān)鍵字項(xiàng)的長度不固定 ? 第二部分 非選擇題(共70分) 二、填空題(本大題共10小題,每小題2分,若有兩個(gè)空格,每個(gè)空格1分,共20分)不寫解答過程,將正確的答案寫在每小題的空格內(nèi)。錯(cuò)填或不填均無分。 16.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯關(guān)系上描述數(shù)據(jù),它與數(shù)據(jù)的 無關(guān),是獨(dú)立于計(jì)算機(jī)的。 17.在一個(gè)帶頭結(jié)點(diǎn)的單循環(huán)鏈表中,p指向尾結(jié)點(diǎn)的直接前驅(qū),則指向

62、頭結(jié)點(diǎn)的指針head可用p表示為head= 。 18.棧頂?shù)奈恢檬请S著 操作而變化的。 19.在串S=“structure”中,以t為首字符的子串有 個(gè)。 20.假設(shè)一個(gè)9階的上三角矩陣A按列優(yōu)先順序壓縮存儲(chǔ)在一維數(shù)組B中,其中B[0]存儲(chǔ)矩陣中第1個(gè)元素a1,1,則B[31]中存放的元素是 。 21.已知一棵完全二叉樹中共有768結(jié)點(diǎn),則該樹中共有 個(gè)葉子結(jié)點(diǎn)。 22.已知一個(gè)圖的廣度優(yōu)先生成樹如右圖所示,則與此相

63、 應(yīng)的廣度優(yōu)先遍歷序列為 。 ? ? 23.在單鏈表上難以實(shí)現(xiàn)的排序方法有 和 。 24.在有序表(12,24,36,48,60,72,84)中二分查找關(guān)鍵字72時(shí)所需進(jìn)行的關(guān)鍵字比較次數(shù)為 。 25.多重表文件

64、和倒排文件都?xì)w屬于 文件。 三、解答題(本大題共4小題,每小題5分,共20分) 26.畫出下列廣義表的共享結(jié)構(gòu)圖形表示 P=(((z),(x,y)),((x,y),x),(z)) 27.請畫出與下列二叉樹對應(yīng)的森林。 ? ? ? ? ? ? 28.已知一個(gè)無向圖的頂點(diǎn)集為{a, b, c, d, e} ,其鄰接矩陣如下

65、所示 a b c d e (1)畫出該圖的圖形; (2)根據(jù)鄰接矩陣從頂點(diǎn)a出發(fā)進(jìn)行深度優(yōu)先遍歷和廣度優(yōu)先遍歷,寫出相應(yīng)的遍歷序列。 ? 29.已知一個(gè)散列表如下圖所示: ? ? 35 ? 20 ? ? 33 ? 48 ? ? 59 0 1 2 3 4 5 6 7 8 9 10 11 12 其散列函數(shù)為h(key)=key%13, 處理沖突的方法為雙重散列法,探查序列為: hi=(h(key)+*h1(key))%m =0,1,…

66、,m-1 其中 h1(key)=key%11+1 回答下列問題: (1)對表中關(guān)鍵字35,20,33和48進(jìn)行查找時(shí),所需進(jìn)行的比較次數(shù)各為多少? (2)該散列表在等概率查找時(shí)查找成功的平均查找長度為多少? 四、算法閱讀題(本大題共4小題,每小題5分,共20分) 30.下列算法的功能是比較兩個(gè)鏈串的大小,其返回值為: comstr(s1,s2)= 請?jiān)诳瞻滋幪钊脒m當(dāng)?shù)膬?nèi)容。 int comstr(LinkString s1,LinkString s2) {//s1和s2為兩個(gè)鏈串的頭指針 while(s1&&s2){ if(s1->datedate)return-1; if(s1->date>s2->date)return1; ① ; ② ; } if( ③ )return-1; if( ④ )return1; ⑤ ;

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!