




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據結構試題一、單選題(每題 2 分,共20分)1. 1. 對一個算法的評價,不包括如下( B )方面的內容。 A健壯性和可讀性 B并行性 C正確性 D時空復雜度2. 2. 在帶有頭結點的單鏈表HL中,要向表頭插入一個由指針p指向的結點,則執(zhí)行( 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;3. 3. 對線性表,在下列哪種情況下應當采用鏈表表示?( B ) A.經常需要隨機地存取元素 B.經常需要進行插入和刪除操作 C.表中元素需要占據一片連續(xù)的存儲空
2、間 D.表中元素的個數(shù)不變4. 4. 一個棧的輸入序列為1 2 3,則下列序列中不可能是棧的輸出序列的是( C ) A. 2 3 1B. 3 2 1 C. 3 1 2 D. 1 2 35. 5. AOV網是一種( D )。 A有向圖 B無向圖 C無向無環(huán)圖 D有向無環(huán)圖6. 6. 采用開放定址法處理散列表的沖突時,其平均查找長度( B )。A低于鏈接法處理沖突 B. 高于鏈接法處理沖突 C與鏈接法處理沖突相同 D高于二分查找7. 7. 若需要利用形參直接訪問實參時,應將形參變量說明為( D )參數(shù)。A值 B函數(shù) C指針 D引用8. 8. 在稀疏矩陣的帶行指針向量的鏈接存儲中,每個單鏈表中的結點
3、都具有相同的( A )。A行號 B列號 C元素值 D非零元素個數(shù)9. 9. 快速排序在最壞情況下的時間復雜度為( D )。AO(log2n) BO(nlog2n) CO(n) DO(n2)10. 10. 從二叉搜索樹中查找一個元素時,其時間復雜度大致為( C )。 A. O(n) B. O(1) C. O(log2n) D. O(n2)二、運算題(每題 6 分,共24分)1. 1.數(shù)據結構是指數(shù)據及其相互之間的_對應關系(聯(lián)系)。當結點之間存在M對N(M:N)的聯(lián)系時,稱這種結構為圖(或圖結構)。2. 2.隊列的插入操作是在隊列的_隊尾_進行,刪除操作是在隊列的_對頭_進行。3. 3.當用長度
4、為N的數(shù)組順序存儲一個棧時,假定用top=N表示???,則表示棧滿的條件是_top=0_。4. 4.對于一個長度為n的單鏈存儲的線性表,在表頭插入元素的時間復雜度為_O(1)_,在表尾插入元素的時間復雜度為_O(n)_。5. 5.設W為一個二維數(shù)組,其每個數(shù)據元素占用4個字節(jié),行下標i從0到7 ,列下標j從0到3 ,則二維數(shù)組W的數(shù)據元素共占用128個字節(jié)。W中第6 行的元素和第4 列的元素共占用44_個字節(jié)。若按行順序存放二維數(shù)組W,其起始地址為100,則二維數(shù)組元素W6,3的起始地址為108_。6. 6.廣義表A= (a,(a,b),(a,b),c),則它的深度為_3_,它的長度為_3_。7
5、. 7.二叉樹是指度為2的_有序_樹。一棵結點數(shù)為N的二叉樹,其所有結點的度的總和是_n-1_。 8. 8.對一棵二叉搜索樹進行中序遍歷時,得到的結點序列是一個_有序序列_。對一棵由算術表達式組成的二叉語法樹進行后序遍歷得到的結點序列是該算術表達式的_后綴表達式_。9. 9.對于一棵具有n個結點的二叉樹,用二叉鏈表存儲時,其指針總數(shù)為_2n_個,其中_n-1_個用于指向孩子,_n+1_個指針是空閑的。10. 10.若對一棵完全二叉樹從0開始進行結點的編號,并按此編號把它順序存儲到一維數(shù)組A中,即編號為0的結點存儲到A0中。其余類推,則A i 元素的左孩子元素為_2i+1,右孩子元素為_2i+2
6、_,雙親元素為_(i-1)/2_。11. 11.在線性表的散列存儲中,處理沖突的常用方法有_開放地址法_和_鏈接法_兩種。12. 12.當待排序的記錄數(shù)較大,排序碼較隨機且對穩(wěn)定性不作要求時,宜采用_快速_排序;當待排序的記錄數(shù)較大,存儲空間允許且要求排序是穩(wěn)定時,宜采用_歸并_排序。三、運算題(每題6分,共24分)1. 1.已知一個65稀疏矩陣如下所示,試:(1)寫出它的三元組線性表;(2)給出三元組線性表的順序存儲表示。2. 2.設有一個輸入數(shù)據的序列是 46, 25, 78, 62, 12, 80 , 試畫出從空樹起,逐個輸入各個數(shù)據而生成的二叉搜索樹。3. 3.對于圖6所示的有向圖若存
7、儲它采用鄰接表,并且每個頂點鄰接表中的邊結點都是按照終點序號從小到大的次序鏈接的,試寫出:(1) 從頂點出發(fā)進行深度優(yōu)先搜索所得到的深度優(yōu)先生成樹;(2) 從頂點出發(fā)進行廣度優(yōu)先搜索所得到的廣度優(yōu)先生成樹; 4. 4.已知一個圖的頂點集V和邊集E分別為: 圖6 V=1,2,3,4,5,6,7;E=,;若存儲它采用鄰接表,并且每個頂點鄰接表中的邊結點都是按照終點序號從小到大的次序鏈接的,按主教材中介紹的拓樸排序算法進行排序,試給出得到的拓樸排序的序列。四、閱讀算法(每題7分,共14分)1. 1. int Prime(int n) int i=1; int x=(int) sqrt(n); whi
8、le (+ix) return 1; else return 0; (1) (1)指出該算法的功能;(2) (2)該算法的時間復雜度是多少?2. 2.寫出下述算法的功能: void AJ(adjlist GL, int i, int n) Queue Q; InitQueue(Q); coutiadjvex; if(!visitedj) coutjnext; 五、算法填空(共8分)如下為二分查找的非遞歸算法,試將其填寫完整。Int Binsch(ElemType A ,int n,KeyType K)int low=0;int high=n-1;while (low=high)int mid=
9、_;if (K=Amid.key) return mid; /查找成功,返回元素的下標 else if (Kmid.key) _; /在左子表上繼續(xù)查找 else _; /在右子表上繼續(xù)查找return -1; /查找失敗,返回-1六、編寫算法(共8分)HL是單鏈表的頭指針,試寫出刪除頭結點的算法。ElemType DeleFront(LNode * & HL) 參考答案 三、運算題(每題6分,共24分)1. 1.(1) (1,5,1),(3,2,-1),(4,5,-2),(5,1,5),(6,3,7) (3分)65515132-145-2515637(2)三元組線性表的順序存儲表示如圖7示。
10、2. 2.如圖8所示。3. 3.DFS: BFS: 4. 4.拓樸排序為: 4 3 6 5 7 2 1 圖7圖8四、閱讀算法(每題7分,共14分)1. 1.(1) 判斷n是否是素數(shù)(或質數(shù)) (2)O()2. 2.功能為:從初始點vi出發(fā)廣度優(yōu)先搜索由鄰接表GL所表示的圖。五、算法填空(8 分) (low+high)/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; 課程測試試題(
11、1卷)一、單選題(每題 2 分,共20分)1. 1. 棧和隊列的共同特點是( A )。A.只允許在端點處插入和刪除元素B.都是先進后出 C.都是先進先出D.沒有共同點 2. 2. 用鏈接方式存儲的隊列,在進行插入運算時( D ). A. 僅修改頭指針 B. 頭、尾指針都要修改 C. 僅修改尾指針 D.頭、尾指針可能都要修改3. 3. 以下數(shù)據結構中哪一個是非線性結構?( D ) A. 隊列 B. 棧 C. 線性表 D. 二叉樹4. 4. 設有一個二維數(shù)組Amn,假設A00存放位置在644(10),A22存放位置在676(10),每個元素占一個空間,問A33(10)存放在什么位置?腳注(10)表
12、示用10進制表示。( C ) A688 B678 C692 D6965. 5. 樹最適合用來表示( C )。 A.有序數(shù)據元素 B.無序數(shù)據元素 C.元素之間具有分支層次關系的數(shù)據 D.元素之間無聯(lián)系的數(shù)據6. 6. 二叉樹的第k層的結點數(shù)最多為( D ). A2k-1 B.2K+1 C.2K-1 D. 2k-17. 7. 若有18個元素的有序表存放在一維數(shù)組A19中,第一個元素放A1中,現(xiàn)進行二分查找,則查找A3的比較序列的下標依次為( D ) A. 1,2,3B. 9,5,2,3 C. 9,5,3D. 9,4,2,38. 8. 對n個記錄的文件進行快速排序,所需要的輔助存儲空間大致為( C
13、 ) A. O(1) B. O(n) C. O(1og2n) D. O(n2)9. 9. 對于線性表(7,34,55,25,64,46,20,10)進行散列存儲時,若選用H(K)=K %9作為散列函數(shù),則散列地址為1的元素有( D )個, A1 B2 C3 D410. 10. 設有6個結點的無向圖,該圖至少應有( A )條邊才能確保是一個連通圖。A.5 B.6 C.7 D.8二、填空題(每空1分,共26分)1. 1.通常從四個方面評價算法的質量:_正確性_、_易讀性_、_強壯性_和_高效率_。 2. 2.一個算法的時間復雜度為(n3+n2log2n+14n)/n2,其數(shù)量級表示為_ O(n)_
14、。3. 3.假定一棵樹的廣義表表示為A(C,D(E,F(xiàn),G),H(I,J),則樹中所含的結點數(shù)為_9_個,樹的深度為_3_,樹的度為_3_。 4. 4.后綴算式9 2 3 +- 10 2 / -的值為_-1_。中綴算式(3+4X)-2Y/3對應的后綴算式為_ 3 4 X * + 2 Y * 3 / -_。 5. 5.若用鏈表存儲一棵二叉樹時,每個結點除數(shù)據域外,還有指向左孩子和右孩子的兩個指針。在這種存儲結構中,n個結點的二叉樹共有_ 2n _個指針域,其中有_ n-1_個指針域是存放了地址,有_ n+1_個指針是空指針。6. 6.對于一個具有n個頂點和e條邊的有向圖和無向圖,在其對應的鄰接表
15、中,所含邊結點分別有_e_個和_2e _個。7. 7. AOV網是一種_有向無回路_的圖。8. 8.在一個具有n個頂點的無向完全圖中,包含有_ n(n-1)/2 _條邊,在一個具有n個頂點的有向完全圖中,包含有_ n(n-1)_條邊。9. 9.假定一個線性表為(12,23,74,55,63,40),若按Key % 4條件進行劃分,使得同一余數(shù)的元素成為一個子表,則得到的四個子表分別為_(12,40)_、_( )_、_(74) _和_(23,55,63)_。10. 10. 向一棵B_樹插入元素的過程中,若最終引起樹根結點的分裂,則新樹比原樹的高度_增加1_。11. 11. 在堆排序的過程中,對任
16、一分支結點進行篩運算的時間復雜度為_ O(log2n)_,整個堆排序過程的時間復雜度為_ O(nlog2n)_。12. 12. 在快速排序、堆排序、歸并排序中, _歸并_排序是穩(wěn)定的。三、運算題(每題 6 分,共24分)1. 1. 在如下數(shù)組A中鏈接存儲了一個線性表,表頭指針為A 0.next,試寫出該線性表。 A 0 1 2 3 4 5 6 7 data605078903440next35720412. 2. 圖10請畫出圖10的鄰接矩陣和鄰接表。3. 3. 已知一個圖的頂點集V和邊集E分別為: V=1,2,3,4,5,6,7; E=(1,2)3,(1,3)5,(1,4)8,(2,5)10,
17、(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25; 用克魯斯卡爾算法得到最小生成樹,試寫出在最小生成樹中依次得到的各條邊。4. 4. 畫出向小根堆中加入數(shù)據4, 2, 5, 8, 3時,每加入一個數(shù)據后堆的變化。四、閱讀算法(每題7分,共14分)1. 1. LinkList mynote(LinkList L) /L是不帶頭結點的單鏈表的頭指針 if(L&L-next) q=L;L=Lnext;p=L; S1: while(pnext) p=pnext; S2: pnext=q;qnext=NULL; return L;
18、請回答下列問題: (1)說明語句S1的功能; (2)說明語句組S2的功能; (3)設鏈表表示的線性表為(a1,a2, ,an),寫出算法執(zhí)行后的返回值所表示的線性表。2. 2. void ABC(BTNode * BT) if BT ABC (BT-left); ABC (BT-right); coutdatadata) item=BST-data;/查找成功 return _; else if(itemdata) return Find(_,item); else return Find(_,item); /if六、編寫算法(共8分)統(tǒng)計出單鏈表HL中結點的值等于給定值X的結點數(shù)。 int
19、CountX(LNode* HL,ElemType x) 參考答案三、運算題(每題6分,共24分)1. 1. 線性表為:(78,50,40,60,34,90)2. 2. 鄰接矩陣: 鄰接表如圖11所示:圖113. 3. 用克魯斯卡爾算法得到的最小生成樹為: (1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)204. 4. 見圖124444422255285283452843圖12四、閱讀算法(每題7分,共14分)1. 1. (1)查詢鏈表的尾結點(2)將第一個結點鏈接到鏈表的尾部,作為新的尾結點 (3)返回的線性表為(a2,a3,an,a1) 2. 2
20、. 遞歸地后序遍歷鏈式存儲的二叉樹。五、算法填空(每空2分,共8 分)true BST-left BST-right 一、 六、 編寫算法(8分)int CountX(LNode* HL,ElemType x) int i=0; LNode* p=HL;/i為計數(shù)器 while(p!=NULL) if (P-data=x) i+; p=p-next; /while, 出循環(huán)時i中的值即為x結點個數(shù) return i; /CountX課程測試試題(2卷) 一、單選題(每小題2分,共8分)1、 1、在一個長度為n的順序線性表中順序查找值為x的元素時,查找成功時的平均查找長度(即x與元素的平均比較次
21、數(shù),假定查找每個元素的概率都相等)為 ( C )。A n B n/2 C (n+1)/2 D (n-1)/22、 2、在一個單鏈表中,若q所指結點是p所指結點的前驅結點,若在q與p之間插入一個s所指的結點,則執(zhí)行( D )。 A slink=plink; plink=s; B plink=s; slink=q; C plink=slink; slink=p; D q link=s; slink =p;3、 3、 棧的插入和刪除操作在( A )進行。A 棧頂 B 棧底 C 任意位置 D 指定位置4、 4、 由權值分別為11,8,6,2,5的葉子結點生成一棵哈夫曼樹,它的帶權路徑長度為( B )
22、A 24 B 71 C 48 D 53二、填空題(每空1分,共32分)5、 1、數(shù)據的邏輯結構被分為_集合_、 _線性_ 、_樹_和_圖_四種。6、 2、一種抽象數(shù)據類型包括_數(shù)據描述_和_操作聲名_兩個部分。7、 3、在下面的數(shù)組a中鏈接存儲著一個線性表,表頭指針為ao.next,則該線性表為_(38,56,25,60,42,74)。 a 0 1 2 3 4 5 6 7 8 60 56 42 38 74 25 4 3 7 6 2 0 1datanext8、 4、在以HL為表頭指針的帶表頭附加結點的單鏈表和循環(huán)單鏈表中,判斷鏈表為空的條件分別為_HLnext =NULL_和_ HL=HLnex
23、t _。9、 5、用具有n個元素的一維數(shù)組存儲一個循環(huán)隊列,則其隊首指針總是指向隊首元素的_前一個位置_,該循環(huán)隊列的最大長度為_ n-1_。10、 6、當堆棧采用順序存儲結構時,棧頂元素的值可用S.stack S.top表示;當堆棧采用鏈接存儲結構時,棧頂元素的值可用_HSdata _表示。11、 7、一棵高度為5的二叉樹中最少含有_5_個結點,最多含_31_個結點。 12、 8、在圖的鄰接表中,每個結點被稱為_邊結點_,通常它包含三個域:一是_鄰接點域_;二是_權域_;三是_鏈域_。13、 9、在一個索引文件的索引表中,每個索引項包含對應記錄的_索引值域_和_開始位置域_兩項數(shù)據。14、
24、10、 假定一棵樹的廣義表表示為A(B(C,D(E,F(xiàn),G),H(I,J),則樹中所含的結點數(shù)為_10_個,樹的深度為_3_,樹的度為_3_, 結點H的雙親結點為_B_,孩子結點為_I和J _ 。15、 11、 在堆排序的過程中,對任一分支結點進行篩運算的時間復雜度為_O(log2n)_,整個堆排序過程的時間復雜度為_ O(nlog2n)_。16、 12、 在對m階的B_樹插入元素的過程中,每向一個結點插入一個索引項(葉子結點中的索引項為關鍵字和空指針)后,若該結點的索引項數(shù)等于_ m _個,則必須把它分裂為_ m - 1_個結點。三、運算題(每小題6分,共24分)17、 1、已知一組記錄的排
25、序碼為(46,79,56,38,40,80, 95,24),寫出對其進行快速排序的每一次劃分結果。18、 2、一個線性表為B=(12,23,45,57,20,03,78,31,15,36),設散列表為HT0.12,散列函數(shù)為H(key)= key % 13并用線性探查法解決沖突,請畫出散列表,并計算等概率情況下查找成功的平均查找長度。19、 3、已知一棵二叉樹的前序遍歷的結果序列是ABECKFGHIJ,中序遍歷的結果是EBCDAFHIGJ,試寫出這棵二叉樹的后序遍歷結果。20、 4、已知一個圖的頂點集V各邊集G如下:V = 0,1,2,3,4,5,6,7,8,9;E = (0,1),(0,4)
26、,(1,2),(1,7),(2,8),(3,4),(3 ,8),(5,6),(5,8),(5,9),(6,7),(7,8),(8,9)當它用鄰接矩陣表示和鄰接表表示時,分別寫出從頂點V0出發(fā)按深度優(yōu)先搜索遍歷得到的頂點序列和按廣度優(yōu)先搜索遍歷等到的頂點序列。假定每個頂點鄰接表中的結點是按頂點序號從大到小的次序鏈接的。圖深度優(yōu)先序列廣度優(yōu)先序列鄰接矩陣表示時鄰接表表示時 四、閱讀算法,回答問題(每小題8分,共16分)1、假定從鍵盤上輸入一批整數(shù),依次為:78 63 45 30 91 34 1,請寫出輸出結果。# include # include consst int stackmaxsize
27、= 30;typedef int elemtype;struct stack elemtype stack stackmaxsize; int top;# include “stack.h”Void main ( ) stack a; initstack(a); int x; cin x; while (x! = -1) push (a, x ); cin x;while (!stackempty (a) cout pop (a) ” ;cout end1;該算法的輸出結果為:_. 2、閱讀以下二叉樹操作算法,指出該算法的功能。Template void BinTree :unknown (B
28、inTreeNode*t) BinTreeNode *p =t, *temp; if (p!=NULL) temp = pleftchild; pleftchild = prightchild; prightchild = temp; unknown(pleftchild); undnown(prightchild); 該算法的功能是:_ 五、算法填空,在畫有橫線的地方填寫合適的內容(10分)對順序存儲的有序表進行二分查找的遞歸算法 。 int Binsch( ElemType A ,int low ,int high,KeyType K ) if (low = high) int mid =
29、 1 if ( K= = A mid .key ) return mid; else if ( K datedate)return1; if(s1dates2date)return1; ; ; if( )return1; if( )return1; ; 31閱讀下面的算法 LinkList mynote(LinkList L) /L是不帶頭結點的單鏈表的頭指針 if(L&L-next) q=L;L=Lnext;p=L; S1: while(pnext) p=pnext; S2: pnext=q;qnext=NULL; return L; 請回答下列問題: (1)說明語句S1的功能; (2)說明語句組S2的功能; (3)設鏈表表示的線性表為(a1,a2, ,an),寫出算法執(zhí)行后的返回值所表示的線性表。32假設兩個隊列共享一個循環(huán)向量空間(參見右下圖), 其類型Queue2定義如下: typedef struct DateType dataM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 事業(yè)單位人力資源管理中的績效考核與激勵策略研究
- 農村儲水供暖管理辦法
- 數(shù)字金融工具對實體經濟轉型升級的路徑優(yōu)化研究
- 智能座艙系統(tǒng):雙控卡技術探索
- 公安簽約作家管理辦法
- 探索經典魅力:人人成為句子迷的路徑研究
- 積極心理理論在現(xiàn)代教育和人力資源開發(fā)中的應用與研究
- 公園自營項目管理辦法
- 人工智能在智能電網中的創(chuàng)新應用研究
- 公安室內警營管理辦法
- 抖音短視頻運營部門各崗位KPI關鍵績效考核指標表
- 2023年印度涂料市場亞洲涂料分析報告
- 鋼結構起重機行車軌道安裝工程檢驗批質量驗收記錄表
- 彩色完整測試頁(測試版)
- 推理小說簡介
- 熱射病的診斷與治療
- GB/T 9074.18-2017自攻螺釘和平墊圈組合件
- 長沙梅溪湖國際新城產業(yè)組織與西區(qū)土地一級開發(fā)
- GB/T 3768-2017聲學聲壓法測定噪聲源聲功率級和聲能量級采用反射面上方包絡測量面的簡易法
- 臨床診療指南(急診醫(yī)學)
- 胸腔積液PPT.ppt 課件
評論
0/150
提交評論