久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

數據結構復習題及答案5篇

時間:2019-05-13 22:10:32下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《數據結構復習題及答案》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《數據結構復習題及答案》。

第一篇:數據結構復習題及答案

、數據結構復習題及答案

中南大學現代遠程教育課程考試(專科)復習題及參考答案 數據結構

一、判斷題:

1. 數組是一種復雜的數據結構,數組元素之間的關系既不是線性的也不是樹形的。()2. 鏈式存儲在插人和刪除時需要保持物理存儲空間的順序分配,不需要保持數據元素之間的邏輯順序。

()

3. 在只有度為0和度為k的結點的k叉樹中,設度為0的結點有n0個,度為k的結點有nk個,則有n0=nk+1。()4. 折半搜索只適用于有序表,包括有序的順序表和有序的鏈表。()5. 如果兩個串含有相同的字符,則這兩個串相等。

()

6. 數組可以看成線性結構的一種推廣,因此可以對它進行插入、刪除等運算。()7. 在用循環單鏈表表示的鏈式隊列中,可以不設隊頭指針,僅在鏈尾設置隊尾指針。()8. 通常遞歸的算法簡單、易懂、容易編寫,而且執行的效率也高。

()9. 一個廣義表的表尾總是一個廣義表。

()10. 當從一個小根堆(最小堆)中刪除一個元素時,需要把堆尾元素填補到堆頂位置,然后再按條件把它逐層向下調整,直到調整到合適位置為止。

()

11. 對于一棵具有n個結點,其高度為h的二叉樹,進行任一種次序遍歷的時間復雜度為O(h)。

()

12. 存儲圖的鄰接矩陣中,鄰接矩陣的大小不但與圖的頂點個數有關,而且與圖的邊數也有關。

()

13. 直接選擇排序是一種穩定的排序方法。

()14. 閉散列法通常比開散列法時間效率更高。

()15. 有n個結點的不同的二叉樹有n!棵。()16. 直接選擇排序是一種不穩定的排序方法。()17. 在2048個互不相同的關鍵碼中選擇最小的5個關鍵碼,用堆排序比用錦標賽排序更快。()18. 當3階B_樹中有255個關鍵碼時,其最大高度(包括失敗結點層)不超過8。()19. 一棵3階B_樹是平衡的3路搜索樹,反之,一棵平衡的3路搜索樹是3階非B_樹。()20. 在用散列表存儲關鍵碼集合時,可以用雙散列法尋找下一個空桶。在設計再散列函數時,要求計算出的值與表的大小m互質。()21. 在索引順序表上實現分塊查找,在等概率查找情況下,其平均查找長度不僅與表中元素個數有關,而且與每一塊中元素個數有關。()

22. 在順序表中取出第i個元素所花費的時間與i成正比。

()23. 在棧滿情況下不能作進棧運算,否則產生“上溢”。

()24. 二路歸并排序的核心操作是將兩個有序序列歸并為一個有序序列。()25. 對任意一個圖,從它的某個頂點出

發,進行一次深度優先或廣度優先搜索,即可訪問圖的每個頂點.()26. 二叉排序樹或者是一棵空二叉樹,或者不是具有下列性質的二叉樹:若它的左子樹非空,則根結點的值大于其左孩子的值;若它的右子樹非空,則根結點的值小于其右孩子的值。()27. 在執行某個排序算法過程中,出現了排序碼朝著最終排序序列位置相反方向移動,則該算法是不穩定的。()

28. 一個有向圖的鄰接表和逆鄰接表中表結點的個數一定相等。()

二、選擇題:

1. 在一個長度為n的順序表的任一位置插入一個新元素的漸進時間復雜度為()。A.O(n)

B.O(n/2)

C.O(1)

D.O(n2)2. 帶頭結點的單鏈表first為空的判定條件是:()A.first==NULL B.first一>1ink==NULL C.first一>link==first D.first!=NUlL 3. 當利用大小為n的數組順序存儲一個隊列時,該隊列的最大長度為()。

A.n-2

B.n-l C.n

D.n+1 4. 在系統實現遞歸調用時需利用遞歸工作記錄保存實際參數的值。在傳值參數情形,需為對應形式參數分配空間,以存放實際參數的副本;在引用參數情形,需保存實際參數的(),在被調用程序中可直接操縱實際參數。

A.空間

B.副本 C.返回地址

D.地址

5. 在一棵樹中,()沒有前驅結點。A.分支結點

D.葉結點

C.樹根結點

D.空結點

6. 在一棵二叉樹的二叉鏈表中,空指針域數等于非空指針域數加()。

A.2

B.1

C.0

D.-1 7. 對于長度為9的有序順序表,若采用折半搜索,在等概率情況下搜索成功的平均搜索長度為()的值除以9。A.20

B.18

C.25

D.22 8. 在有向圖中每個頂點的度等于該頂點的()。A.入度

B.出度

C.入度與出度之和

D.入度與出度之差

9. 在基于排序碼比較的排序算法中,()算法的最壞情況下的時間復雜度不高于O(n10g2n)。A.起泡排序

B.希爾排序

C.歸并排序

D.快速排序

10. 當α的值較小時,散列存儲通常比其他存儲方式具有()的查找速度。A.較慢

B.較快

C.相同

D.不清楚

11. 設有一個含200個表項的散列表,用線性探查法解決沖突,按關鍵碼查詢時找到一個表項的平均探查次數不超過1.5,則散列表項應能夠至少容納()個表項。(設搜索成功的平均搜索長度為Snl={1+l/(1一α)}/2,其中α為裝填因子)

A.400

B.526

C.624

D.676

12. 堆是一個鍵值序列{k1,k2,.....kn},對I=1,2,....|_n/2_|,滿足()A.ki≤k2i≤k2i+1

B.ki

1(2i+1≤n)

13. 若將數據結構形式定義為二元組(K,R),其中K是數據元素的有限集合,則R是K上()

A.操作的有限集合B.映象的有限集合 C.類型的有限集合D.關系的有限集合

14. 在長度為n的順序表中刪除第i個元素(1≤i≤n)時,元素移動的次數為()

A.n-i+1

B.i

C.i+1

D.n-i 15. 若不帶頭結點的單鏈表的頭指針為head,則該鏈表為空的判定條件是()

A.head==NULL

B.head->next==NULL

C.head!=NULL

D.head->next==head 16. 引起循環隊列隊頭位置發生變化的操作是()

A.出隊

B.入隊

C.取隊頭元素

D.取隊尾元素

17. 若進棧序列為1,2,3,4,5,6,且進棧和出棧可以穿插進行,則不可能出現的出棧序列是()

A.2,4,3,1,5,6

B.3,2,4,1,6,5

C.4,3,2,1,5,6

D.2,3,5,1,6,4 18. 字符串通常采用的兩種存儲方式是()

A.散列存儲和索引存儲

B.索引存儲和鏈式存儲

C.順序存儲和鏈式存儲

D.散列存儲和順序存儲

19. 設主串長為n,模式串長為m(m≤n),則在匹配失敗情況下,樸素匹配算法進行的無效位移次數為()

A.m

B.n-m

C.n-m+D.n 20. 二維數組A[12][18]采用列優先的存儲方法,若每個元素各占3個存儲單元,且第1個元素的地址為150,則元素A[9][7]的地址為()

A.429

B.432

C.435

D.438 21. 對廣義表L=((a,b),(c,d),(e,f))執行操作tail(tail(L))的結果是()

A.(e,f)

B.((e,f))

C.(f)

D.()22. 下列圖示的順序存儲結構表示的二叉樹是()

23. n個頂點的強連通圖中至少含有()A.n-1條有向邊

B.n條有向邊

C.n(n-1)/2條有向邊

D.n(n-1)條有向邊

24. 對關鍵字序列(56,23,78,92,88,67,19,34)進行增量為3的一趟希爾排序的結果為()

A.(19,23,56,34,78,67,88,92)B.23,56,78,66,88,92,19,34)

C.(19,23,34,56,67,78,88,92)

D.(19,23,67,56,34,78,92,88)25. 若在9階B-樹中插入關鍵字引起結點分裂,則該結點在插入前含有的關鍵字個數為()

A.4

B.5

C.8

D.9 26. 由同一關鍵字集合構造的各棵二叉排序樹()

A.其形態不一定相同,但平均查找長度相同

B.其形態不一定相同,平均查找長度也不一定相同

C.其形態均相同,但平均查找長度不一定相同

D.其形態均相同,平均查找長度也都相同 27. ISAM文件和VSAM文件的區別之一是()

A.前者是索引順序文件,后者是索引非順序文件

B.前者只能進行順序存取,后者只能進行隨機存取

C.前者建立靜態索引結構,后者建立動態索引結構

D.前者的存儲介質是磁盤,后者的存儲介質不是磁盤 28. 下列描述中正確的是()

A. 線性表的邏輯順序與存儲順序總是一致的

B. 每種數據結構都具備三個基本運算:插入、刪除和查找

C. 數據結構實質上包括邏輯結構和存儲結構兩方面的內容

D. 選擇合適的數據結構是解決應用問題的關鍵步驟 29. 下面程序段的時間復雜度是()

i=s=0

while(s

{i++;

s+=i;

}

A.O(1)B.O(n)C.O(log2n)D.O(n2)30. 對于順序表來說,訪問任一節點的時間復雜度是()

A.O(1)B.O(n)C.O(log2n)D.O(n2)31. 在具有n個節點的雙鏈表中做插入、刪除運算,平均時間復雜度為()

A.O(1)B.O(n)C.O(log2n)D.O(n2)32. 經過下列運算后,QueueFront(Q)的值是()

InitQueue(Q);EnQueue(Q,a);EnQueue(Q,a);DeQueue(Q,x);

A.a B.b

C.1

D.2 33. 一個棧的入棧序列是a,b,c,則棧的不可能輸出序列是()

A.acb B.abc C.bca D.cab 34. 循環隊列是空隊列的條件是()

A.Q->rear==Q->front

B.(Q->rear+1)%maxsize==Q->front

C.Q->rear==0

D.Q->front==0 35. 設s3=“I AM”,s4=“A TERCHER”.則strcmp(s3,s4)=()

A.0 B.小于0 C.大于0 D.不確定

36. 一維數組的元素起始地址loc[6]=1000,元素長度為4,則loc[8]為()

A.1000 B.1004 C.1008 D.8 37. 廣義表((a,b),c,d)的表尾是()

A.a B.b C.(a,b)D.(c,d)38. 對于二叉樹來說,第I層上至多有____個節點()

A.2i B.2i-1 C.2i-1 D.2i-1-1 39. 某二叉樹的前序遍歷序列為ABDGCEFH,中序遍歷序列為DGBAECHF,則后序遍歷序列為()

A.BDGCEFHA B.GDBECFHA C.BDGAECHF D.GDBEHFCA 40. M叉樹中,度為0的節點數稱為()

A.根 B.葉 C.祖先 D.子孫

41. 已知一個圖如下所示,若從頂點a出發按寬度搜索法進行遍歷,則可能得到的一種頂 點序列為()

42. 堆的形狀是一棵()

A.二叉排序樹 B.滿二叉樹 C.完全二義樹 D.平衡二叉樹

43. 排序方法中,從未排序序列中挑選元素,并將其依次放入已排序序列(初始時為空)的一端的方法,稱為()

A.希爾排序 B.歸并排序 C.插入排序 D.選擇排序

44. 采用順序查找方法查找長度為n的線性表時,每個元素的平均查找長度為()

A.n B.n/2 C.(n+1)/2 D.(n-1)/2 45. 散列查找是由鍵值______確定散列表中的位置,進行存儲或查找()

A.散列函數值 B.本身 C.平方 D.相反數 46. 順序文件的缺點是()

A.不利于修改 B.讀取速度慢 C.只能寫不能讀 D.寫文件慢 47. 索引文件的檢索方式是直接存取或按_____存取()

A.隨機存取 B.關鍵字 C.間接 D.散列

48. 堆是一個鍵值序列{k1,k2,.....kn},對i=1,2,....|_n/2_|,滿足()

A.ki≤k2i≤k2i+1

B.ki

C.ki≤k2i且ki≤k2i+1(2i+1≤n)D.ki≤k2i 或ki≤k2i+1(2i+1≤n)

三、計算與算法應用題(本大題每小題9分)

1.給定表(119,14,22,1,66,21,83,27,56,13,10)

請按表中元素的順序構造一棵平衡二叉樹,并求其在等概率情況下查找成功的平均長度。(9分)2.已知一個有向圖的頂點集V和邊集G分別為: V={a,b,c,d,e,f,g,h} E={,,,,,,,,,};假定該圖采用鄰接矩陣表示,則分別寫出從頂點a出發進行深度優先搜索遍歷和廣度優先搜索遍歷得到的頂點序列。(9分)

3.設散列表的長度為13,散列函數為H(h)= k%13,給定的關鍵碼序列為19,14,23,01,68,20,84,27。試畫出用線性探查法解決沖突時所構成的散列表。(8分)

0

4.對7個關鍵字進行快速排序,在最好的情況下僅需進行10次關鍵字的比較。

(1)假設關鍵字集合為{1,2,3,4,5,6,7},試舉出能達到上述結果的初始關鍵字序列;

(2)對所舉序列進行快速排序,寫出排序過程。(9分)5.如圖所示二叉樹,回答下列問題。(9分)

6.畫出在一個初始為空的AVL樹中依次插入3,1,4,6,9,8,5,7時每一插入后AVL樹的形態。若做了某種旋轉,說明旋轉的類型。然后,給出在這棵插入后得到的AVL樹中刪去根結點后的結果。7.已知一組記錄的排序碼為(46,79,56,38,40,80,95,24),寫出對其進行快速排序的每一次劃分結果。

8.一個線性表為 B=(12,23,45,57,20,03,78,31,15,36),設散列表為 HT[0..12],散列函數為 H(key)= key % 13 并用線性探查法解決沖突,請畫出散列表,并計算等概率情況下查找成功的平均查找長度。

9.已知一棵二叉樹的前序遍歷的結果序列是 ABECKFGHIJ,中序遍歷的結果是 EBCDAFHIGJ,試寫出這棵二叉樹的后序遍歷結果。

10.假定對線性表(38,25,74,52,48,65,36)進行散列存儲,采用H(K)=K%9作為散列函數,若分別采用線性探查法和鏈接法處理沖突,則對應的平均查找長度分別為

。11.假定一組記錄的排序碼

為(46,79,56,38,40,80,25,34,57,21),則對其進行快速排序的第一次劃分后又對左、右兩個子區間分別進行一次劃分,得到的結果為:。

12.下圖是帶權的有向圖G的鄰接表表示法。從結點V1出發,深度遍歷圖G所得結點序列為(A),廣度遍歷圖G所得結點序列為(B);G的一個拓撲序列是(C);從結點V1到結點V8的最短路徑為(D);從結點V1到結點V8的關鍵路徑為(E)。其中A、B、C的選擇有: V1,V2,V3,V4,V5,V6,V7,V8 V1,V2,V4,V6,V5,V3,V7,V8 V1,V2,V4,V6,V3,V5,V7,V8 V1,V2,V4,V6,V7,V3,V5,V8 V1,V2,V3,V8,V4,V5,V6,V7 V1,V2,V3,V8,V4,V5,V7,V6 V1,V2,V3,V8,V5,V7,V4,V6 D、E的選擇有:

V1,V2,V4,V5,V3,V8 ②

V1,V6,V5,V3,V8 ③

V1,V6,V7,V8 ④

V1,V2,V5,V7,V8

13.畫出對長度為10的有序表進行折半查找的判定樹,并求其等概率時查找成功的平均查找長度。14.已知如圖所示的有向網,試利用Dijkstra算法求頂點1到其余頂點的最短路徑,并給出算法執行過程中各步的狀態。

15.假定用于通信的電文由8個字母a,b,c,d,e,f,g,h組成,各字母在電文中出現的頻率分別為5,25,3,6,10,11,36,4。試為這8個字母設計不等長Huffman編碼,并給出該電文的總碼數。

16.已知一棵二叉樹的中序和前序序列如下,試畫出該二叉樹并求該二叉樹的后序序列。(9分)中序序列:c,b,d,e,a,g,i,h,j,f 前序序列:a,b,c,d,e,f,g,h,i,j 17.假設用于通信的電文僅由8個字母組成,字母在電文中出現的頻率分別為0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。試為這8個字母設計哈夫曼編碼。使用0~7的二進制表示形式是另一種編碼方案。對于上述實例,比較兩種方案的優缺點。

四、算法設計題

1.已知深度為h的二叉樹以一維數組BT(1:2h-1)作為其存儲結構。請寫一算法,求該二叉樹中葉結點的個數。

2.編寫在以BST為樹根指針的二叉搜索樹上進行查找值為item的結點的非遞歸算法,若查找item帶回整個結點的值并返回ture,否則返回false。bool Find(BtreeNode*BST,ElemType&item)

3.編寫算法,將一個結點類型為 Lnode 的單鏈表按逆序鏈接,即若原單鏈表中存儲元素的次序為 a 1,......a n-1,a n,則逆序鏈接后變為 , a n,a n-1,......a 1。

4.根據下面函數原型,編寫一個遞歸算法,統計并返回以BT為樹根指針的二叉樹中所有 葉子結點的個數。int Count(BTreeNode * BT);

5.設A=(a1,...,am)和B=(b1,...,bn)均為順序表,A'和B'分別為A和B中除去最大共同前綴后的子表。若A'=B'=空表,則A=B;若A'=空表,而B'

≠空表,或者兩者均不為空表,且A'的首元小于B'的首元,則AB。試寫一個比較A,B大小的算法。

6.已知單鏈表a和b的元素按值遞增有序排列, 編寫算法歸并a和b得到新的單鏈表c,c的元素按值遞減有序。

7.編寫遞歸算法,對于二叉樹中每一個元素值為x的結點,刪去以它為根的子樹,并釋放相應的空間。

8.編寫算法判別T是否為二叉排序樹.9.試寫一算法,判斷以鄰接表方式存儲的有向圖中是否存在由頂點Vi到頂點Vj的路徑(i<>j)。注意:算法中涉及的圖的基本操作必須在存儲結構上實現。

參考答案

一、判斷題

1.√

2.×

3.√

4.×

5.√ 6.√

7.×

8.×

9.× 11 ×

12√ 13 × 14 √ 15 × 16 √ 17 × 18 ×

19.×

20.×

21.√

22.×

23.√

24.√

25.×

26.×

27.×

28.√

二、單項選擇題

1.A

2.B 3.B 4.D

5.C

6.A 7.C

8.C

9.C

10.B

11.A 12 C 13.B

14.D

15.A

16.A

17.D

18.C 19.C

20.A

21.B

22.A

23.B

24.D

25.C

C

28.D 29.B 30.A 31.A 32.B 33.D 34.A 35.C 36.C 37.D 38.C 39.D 40.A 41.B 42.C 43.D 44.C 45.A 46.A 47.B 48.C

三 計算與算法應用題 1.[解答]

平均長度為4.2、解:畫圖(略)

深度優先搜索序列:a,b,f,h,c,d,g,e

廣度優先搜索序列:a,b,c,f,d,e,h,g

3、解:計算機關鍵碼得到的散列地址 關鍵碼 19 14 23 01 68 20 84 27 散列地址 6

10.×

26.B

1 3 7 6 1 在散列表中散列結果

0

01 68 27 19 20 84 23

4.對n個關鍵自序列進行一趟快速排序,要進行n-1次比較,也就是基準和其他n-1個關鍵字比較。

這里要求10次,而71)= 10,這就要求2趟快速排序后,算法結束。所以,列舉出來的序列,要求在做partition的時候,正好將序列平分

(1)4 1 3 2 6 5 7 或 4 1 3 7 6 5 2 或 4 5 3 7 6 1 2 或 4 1 3 5 6 2 7.......(2)按自己序列完成 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Apr Aug Dec Feb Jan Mar May June July Sep Oct Nov(1)(2)(1)(1)(1)(1)(2)(4)(5)(2)(5)(6)

(2)搜索成功的平均搜索長度為

l/12*(1+2+l+l+l+l+2+4+5+2+5+6):3l/12

5.答案:(1)djbaechif(2)abdjcefhi(3)jdbeihfca 6.在這個AVL樹中刪除根結點時有兩種方案: 【方案1】在根的左子樹中沿右鏈走到底,用5遞補根結點中原來的6,再刪除5所在的結點.【方案2】在根的右子樹中沿左鏈走到底,用7遞補根結點中原來的6,再刪除7所在的結點.7.劃分次序

劃分結果

第二篇:數據結構(Java)復習題及答案 1緒論

一、單項選擇題

(B)1.計算機算法必須具備輸入、輸出和 等5個特性。A)可行性、可移植性和可擴充性 B)可行性、確定性和有窮性 C)確定性、有窮性和穩定性 D)易讀性、穩定性和安全性

(C)2.數據結構中,與所使用的計算機無關的是數據的 結構; A)存儲 B)物理 C)邏輯 D)物理和存儲

(C)3.算法分析的目的是:

A)找出數據結構的合理性 B)研究算法中的輸入和輸出的關系 C)分析算法的效率以求改進 D)分析算法的易懂性和文檔性

(A)4.算法分析的兩個主要方面是:

A)空間復雜性和時間復雜性 B)正確性和簡明性 C)可讀性和文檔性 D)數據復雜性和程序復雜性

(C)5.計算機算法指的是:

A)計算方法 B)排序方法 C)解決問題的有限運算序列 D)調度方法

6.數據結構是研究數據的(A)和(B)以及它們之間的相互關系,并對這種結構定義相應的(C),設計出相應的(D),從而確保經過這些運算后所得到的新結構是(E)結構類型。供選擇的答案

A.B: 1.理想結構 2.抽象結構 3.物理結構 4邏輯結構 C.D.E: 1.運算 2.算法 3.結構 4.規則 5.現在的 6.原來的 解答:34126

7.(A)是描述客觀事物的數、字符以及所有能輸入到計算機中被計算機程序加工處理的符號的結合。(B)是數據的基本單位,即數據結合中的個體。有時一個(B)由若干個(C)組成,在這種情況下,稱(B)為記錄。(C)是數據的最小單位。(D)是具有相同特性的數據元素的集合。(E)是帶有結構特性的數據元素的結合。

被計算機加工的數據元素不是孤立無關的,它們彼此之間一般存在著某種聯系,通常將數據元素的這種聯系關系稱為(G)。算法的計算量和問題規模的聯系用(H)表示。供選擇的答案:

A-F: 1.數據元素 2.符號 3.記錄 4.文件 5.數據 6.數據項 7.數據對象 8.關鍵字 9.數據結構

G: 1.規則 2.集合 3.結構 4.運算 H: 1.現實性 2.難度 3.復雜性 4.效率 解答:5167933

二、判斷題

1, 數據元素是數據的最小單位。

解答:錯,因為數據元素是數據的基本單位,通常它是由若干個數據項組成,數據項才是數據的最小單位。

2, 數據結構是帶有結構的數據元素的結合。解答:正確

3, 數據結構、數據元素、數據項在計算機中的映像(或表示)分別稱為存儲結構、結點、數據域。解答:正確

4, 數據項是數據的基本單位。

解答:錯,因為數據元素才是數據的基本單位

5, 數據的邏輯結構是指各數據之間的邏輯關系,是用戶按使用需要而建立的。解答:正確

6, 數據的物理結構是指數據在計算機內實際的存儲形式。解答:正確

三、簡答題

1、簡述下列概念:數據、數據元素、數據項、數據結構、邏輯結構、存儲結構、線性結構、非線性結構。解答:

● 數據:指能夠被計算機識別、存儲和加工處理的信息載體。

● 數據元素:就是數據的基本單位,在某些情況下,數據元素也稱為元素、結點、頂點、記錄。數據元素有時可以由若干數據項組成。●數據項是不可分割的最小單位。

● 數據結構:指的是數據之間的相互關系,即數據的組織形式。一般包括三個方面的內容:數據的邏輯結構、存儲結構和數據的運算。● 邏輯結構:指數據元素之間的邏輯關系。

● 存儲結構:數據元素及其關系在計算機存儲器內的表示,稱為數據的存儲結構。

● 線性結構:數據邏輯結構中的一類。它的特征是若結構為非空集,則該結構有且只有一個開始結點和一個終端結點,并且所有結點都有且只有一個直接前趨和一個直接后繼。線性表就是一個典型的線性結構。棧、隊列、串等都是線性結構。

● 非線性結構:數據邏輯結構中的另一大類,它的邏輯特征是一個結點可能有多個直接前趨和直接后繼。數組、廣義表、樹和圖等數據結構都是非線性結構。

2、按增長率由小至大的順序排列下列各函數:

2100,(3/2)n,(2/3)n,nn ,n0.5 , n!,2n,lgn ,nlgn, n(3/2)解答:

常見的時間復雜度按數量級遞增排列,依次為:常數階0(1)、對數階0(log2n)、線性階0(n)、線性對數階0(nlog2n)、平方階0(n2)、立方階0(n3)、k次方階0(nk)、指數階0(2n)。

先將題中的函數分成如下幾類: 常數階:2100 對數階:lgn K次方階:n0.5、n(3/2)

指數階(按指數由小到大排):nlgn、(3/2)n、2n、n!、nn

注意:(2/3)^n由于底數小于1,所以是一個遞減函數,其數量級應小于常數階。根據以上分析按增長率由小至大的順序可排列如下:

(2/3)n < 2100 < lgn < n0.5 < n(3/2)< nlgn <(3/2)n < 2n < n!< nn

3、試舉一個數據結構的例子、敘述其邏輯結構、存儲結構、運算三個方面的內容。解答:略

4、常用的存儲表示方法有哪幾種? 解答:順序和鏈式,省略200字

5、設有兩個算法在同一機器上運行,其執行時間分別為100n2和2n,要使前者快于后者,n至少要多大? 解答:

6、算法的時間復雜度僅與問題的規模相關嗎? 解答:是

第一章 作業

1.任何計算機系統的主存可以看作是一個一維數組,多維數組實際存儲仍是一組連續單元。請從數據的邏輯結構和物理結構的角度分析? 答:通過一個下標計算公式將二維數組的下標(i,j)映成一維數組的下標。例圖b,下標=4×(J—l)十I

2.選擇解決某種問題的最佳數據結構的標準是什么? 1)算法所需要的時間;

①程序運行時所需輸入的數據總量; ②對源程序進行編譯所需的時間; ③計算機執行每條指令所需的時間;

④程序中的指令重復執行的次數(數據結構中討論算法時的重點)2)所需的存儲空間量。

3.有一疊撲克脾,在計算機中存儲這一疊撲克牌的內容(信息)答:用一個結點表示一張牌,每張撲克牌的內容包括牌的正反面(0、1)、花色(梅花

1、方塊

2、紅心

3、黑桃4)、點數、名稱、下一張牌 邏輯結構是線性表;存儲結構可以用鏈表或者順序表表示

I=1執行n次

4、語句S的執行次數(B)

I=2執行n-1次

(1)for(i=1;i<=n-1;i++)

I=n-1執行2次

for(j=n;j>=i;j--)n+(n-1)+………..2

S;(A)n(n+2)/2(B)

(n-1)(n+2)/2

(C)

n(n+1)/2(D)

(n-1)(n+2)(2)I=0;

(A)

Do{ J=I;Do{ S;

J++;

}while(j<=n);I++;

}while(i<=n);(A)(n+2)(n+1)/2(B)

n(n-1)/2

(C)

n!(D)

n2

5、計算下面程序的時間復雜度(1)for(i=1;i<=m;i++)

(C)

for(j=1;j<=n;j++)

A[i][j]=i*j;(A)

O(m2)(B)

O(n2)

(C)

O(m*n)(D)

O(m+n)

(2)I=0;

(A)

s=0;while(s<=n){ I++;S+=I;}

(3)語句S的時間復雜度為O(1),(D)for(i=1;i<=n-1;i++)

for(j=n;j>=i;j--)

S;(A)O(n2/2)(B)

O((n-1)(n+2)/2)

(C)

O(n2+n)(D)O(n2)

同題4(1)

S=1+2+3。。。。X=n X為執行次數

I=0,j 0~n,執行n+1次 I=1,j 1~n,執行n次 I=n,j n~n,執行1次(n+1)+………..1

x(x?1)?n2x2?x?2n?0x??1?1?8n2(A)

O(n)(B)O(2n)

(C)

O(n)(D)

O(n2)

6、寫出下面程序的時間復雜度(1)for(i=1;i<=n,i++)

for(j=1;j<=i,j++)for(k=1;k<=j,k++)x+=delta;

1+(1+2)+(1+2+3)…..(1+2+….n)

答:O(n3)

(2)i=1;j=0;while(i+j<=n){ if(i>j)j++;else i++;

} 答:O(n)

把(i+j)看成整體,每次遞增1,頻率n

第三篇:數據結構試題及答案

數據結構試卷

(二)一、選擇題(24分)1.下面關于線性表的敘述錯誤的是()。

(A)線性表采用順序存儲必須占用一片連續的存儲空間

(B)線性表采用鏈式存儲不必占用一片連續的存儲空間(C)線性表采用鏈式存儲便于插入和刪除操作的實現(D)線性表采用順序存儲便于插入和刪除操作的實現

2.設哈夫曼樹中的葉子結點總數為m,若用二叉鏈表作為存儲結構,則該哈夫曼樹中總共有()個空指針域。

(A)2m-1(B)2m(C)2m+1(D)4m 3.設順序循環隊列Q[0:M-1]的頭指針和尾指針分別為F和R,頭指針F總是指向隊頭元素的前一位置,尾指針R總是指向隊尾元素的當前位置,則該循環隊列中的元素個數為()。

(A)R-F(B)F-R(C)(R-F+M)%M(D)(F-R+M)%M 4.設某棵二叉樹的中序遍歷序列為ABCD,前序遍歷序列為CABD,則后序遍歷該二叉樹得到序列為()。

(A)BADC(B)BCDA(C)CDAB(D)CBDA 5.設某完全無向圖中有n個頂點,則該完全無向圖中有()條邊。

(A)n(n-1)/2(B)n(n-1)(C)n

2(D)n2-1 6.設某棵二叉樹中有2000個結點,則該二叉樹的最小高度為()。

(A)9(B)10(C)11(D)12 7.設某有向圖中有n個頂點,則該有向圖對應的鄰接表中有()個表頭結點。

(A)n-1(B)n(C)n+1(D)2n-1 8.設一組初始記錄關鍵字序列(5,2,6,3,8),以第一個記錄關鍵字5為基準進行一趟快速排序的結果為()。

(A)2,3,5,8,6(B)3,2,5,8,6(C)3,2,5,6,8(D)2,3,6,5,8

二、填空題(24分)1.1.為了能有效地應用HASH查找技術,必須解決的兩個問題是____________________和__________________________。

2.2.下面程序段的功能實現數據x進棧,要求在下劃線處填上正確的語句。

typedef struct {int s[100];int top;} sqstack;void push(sqstack &stack,int x){ if(stack.top==m-1)printf(“overflow”);

else {____________________;_________________;} } 3.3.中序遍歷二叉排序樹所得到的序列是___________序列(填有序或無序)。4.4.快速排序的最壞時間復雜度為___________,平均時間復雜度為__________。5.5.設某棵二叉樹中度數為0的結點數為N0,度數為1的結點數為N1,則該二叉樹中度數為2的結點數為_________;若采用二叉鏈表作為該二叉樹的存儲結構,則該二叉樹中共有_______個空指針域。

6.6.設某無向圖中頂點數和邊數分別為n和e,所有頂點的度數之和為d,則e=_______。

7.7.設一組初始記錄關鍵字序列為(55,63,44,38,75,80,31,56),則利用篩選法建立的初始堆為___________________________。

v1??3??2??4v2??1??3v3??1??4??28.8.設某無向圖G的鄰接表為v4??1??3,則從頂點V1開始的深度優先遍歷序列為___________;廣度優先遍歷序列為____________。

三、應用題(36分)1. 1. 設一組初始記錄關鍵字序列為(45,80,48,40,22,78),則分別給出第4趟簡單選擇排序和第4趟直接插入排序后的結果。

2. 2. 設指針變量p指向雙向鏈表中結點A,指針變量q指向被插入結點B,要求給出在結點A的后面插入結點B的操作序列(設雙向鏈表中結點的兩個指針域分別為llink和rlink)。

3. 3. 設一組有序的記錄關鍵字序列為(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求計算出查找關鍵字62時的比較次數并計算出查找成功時的平均查找長度。

4. 4. 設一棵樹T中邊的集合為{(A,B),(A,C),(A,D),(B,E),(C,F),(C,G)},要求用孩子兄弟表示法(二叉鏈表)表示出該樹的存儲結構并將該樹轉化成對應的二叉樹。5. 5. 設有無向圖G(如右圖所示),要求給出用普里姆算法構造最小生成樹所走過的邊的集合。

6. 6. 設有一組初始記錄關鍵字為(45,80,48,40,22,78),要求構造一棵二叉排序樹并給出構造過程。

數據結構試卷

(二)參考答案

一、選擇題 1.D 2.B 3.C 4.A 5.A 6.C 7.B 8.C

二、填空題

1.1.構造一個好的HASH函數,確定解決沖突的方法 2.2.stack.top++,stack.s[stack.top]=x 3.3.有序

4.4.O(n2),O(nlog2n)5.5.N0-1,2N0+N1 6.6.d/2 7.7.(31,38,54,56,75,80,55,63)8.8.(1,3,4,2),(1,3,2,4)

三、應用題

1.1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.2.q->llink=p;q->rlink=p->rlink;p->rlink->llink=q;p->rlink=q;3.3.2,ASL=91*1+2*2+3*4+4*2)=25/9 4.4.樹的鏈式存儲結構略,二叉樹略

5.5.E={(1,3),(1,2),(3,5),(5,6),(6,4)} 6.6.略

數據結構試卷

(三)一、選擇題(30分)1.設某數據結構的二元組形式表示為A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},則數據結構A是()。

(A)線性結構(B)樹型結構(C)物理結構(D)圖型結構 2.下面程序的時間復雜為()

for(i=1,s=0; i<=n; i++){t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}(A)O(n)(B)O(n2)(C)O(n3)(D)O(n4)3.設指針變量p指向單鏈表中結點A,若刪除單鏈表中結點A,則需要修改指針的操作序列為()。

(A)q=p->next;p->data=q->data;p->next=q->next;free(q);(B)q=p->next;q->data=p->data;p->next=q->next;free(q);

(C)q=p->next;p->next=q->next;free(q);

(D)q=p->next;p->data=q->data;free(q);

4.設有n個待排序的記錄關鍵字,則在堆排序中需要()個輔助記錄單元。

(A)1(B)n(C)nlog2n(D)n2

5.設一組初始關鍵字記錄關鍵字為(20,15,14,18,21,36,40,10),則以20為基準記錄的一趟快速排序結束后的結果為()。(A)10,15,14,18,20,36,40,21(B)10,15,14,18,20,40,36,21(C)10,15,14,20,18,40,36,2l(D)15,10,14,18,20,36,40,21 6.設二叉排序樹中有n個結點,則在二叉排序樹的平均平均查找長度為()。(A)O(1)(B)O(log2n)(C)(D)O(n)7.設無向圖G中有n個頂點e條邊,則其對應的鄰接表中的表頭結點和表結點的個數分別為()。

(A)n,e(B)e,n(C)2n,e(D)n,2e 8.設某強連通圖中有n個頂點,則該強連通圖中至少有()條邊。

(A)n(n-1)(B)n+1(C)n(D)n(n+1)9.設有5000個待排序的記錄關鍵字,如果需要用最快的方法選出其中最小的10個記錄關鍵字,則用下列()方法可以達到此目的。

(A)快速排序(B)堆排序(C)歸并排序(D)插入排序 10.下列四種排序中()的空間復雜度最大。

(A)插入排序(B)冒泡排序(C)堆排序(D)歸并排序

二、填空殖(48分,其中最后兩小題各6分)1.1.數據的物理結構主要包括_____________和______________兩種情況。

2.2.設一棵完全二叉樹中有500個結點,則該二叉樹的深度為__________;若用二叉鏈表作為該完全二叉樹的存儲結構,則共有___________個空指針域。

3.3.設輸入序列為1、2、3,則經過棧的作用后可以得到___________種不同的輸出序列。

4.4.設有向圖G用鄰接矩陣A[n][n]作為存儲結構,則該鄰接矩陣中第i行上所有元素之和等于頂點i的________,第i列上所有元素之和等于頂點i的________。

5.5.設哈夫曼樹中共有n個結點,則該哈夫曼樹中有________個度數為1的結點。6.6.設有向圖G中有n個頂點e條有向邊,所有的頂點入度數之和為d,則e和d的關系為_________。

7.7.__________遍歷二叉排序樹中的結點可以得到一個遞增的關鍵字序列(填先序、中序或后序)。

8.8.設查找表中有100個元素,如果用二分法查找方法查找數據元素X,則最多需要比較________次就可以斷定數據元素X是否在查找表中。

9.9.不論是順序存儲結構的棧還是鏈式存儲結構的棧,其入棧和出棧操作的時間復雜度均為____________。

10.10.設有n個結點的完全二叉樹,如果按照從自上到下、從左到右從1開始順序編號,則第i個結點的雙親結點編號為____________,右孩子結點的編號為___________。11.11.設一組初始記錄關鍵字為(72,73,71,23,94,16,5),則以記錄關鍵字72為基準的一趟快速排序結果為___________________________。

12.12.設有向圖G中有向邊的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},則該圖的一種拓撲序列為____________________。

13.13.下列算法實現在順序散列表中查找值為x的關鍵字,請在下劃線處填上正確的語句。

struct record{int key;int others;};int hashsqsearch(struct record hashtable[ ],int k){ int i,j;j=i=k % p;while(hashtable[j].key!=k&&hashtable[j].flag!=0){j=(____)%m;if(i==j)return(-1);}

if(_______________________)return(j);else return(-1);} 14.14.下列算法實現在二叉排序樹上查找關鍵值k,請在下劃線處填上正確的語句。

typedef struct node{int key;struct node *lchild;struct node *rchild;}bitree;bitree *bstsearch(bitree *t, int k){

if(t==0)return(0);else while(t!=0)if(t->key==k)_____________;else if(t->key>k)t=t->lchild;else_____________;}

數據結構試卷

(三)參考答案

一、選擇題

1.B 2.B 3.A 4.A 5.A 6.B 7.D 8.C 9.B 10.D 第3小題分析:首先用指針變量q指向結點A的后繼結點B,然后將結點B的值復制到結點A中,最后刪除結點B。

第9小題分析:9快速排序、歸并排序和插入排序必須等到整個排序結束后才能夠求出最小的10個數,而堆排序只需要在初始堆的基礎上再進行10次篩選即可,每次篩選的時間復雜度為O(log2n)。

二、填空題

1.1.順序存儲結構、鏈式存儲結構 2.2.9,501 3.3.5 4.4.出度,入度 5.5.0 6.6.e=d 7.7.中序 8.8.7 9.9.O(1)10.10.i/2,2i+1 11.11.(5,16,71,23,72,94,73)12.12.(1,4,3,2)13.13.j+1,hashtable[j].key==k 14.14.return(t),t=t->rchild 第8小題分析:二分查找的過程可以用一棵二叉樹來描述,該二叉樹稱為二叉判定樹。在有序表上進行二分查找時的查找長度不超過二叉判定樹的高度1+log2n。

}

數據結構試卷

(四)一、選擇題(30分)1.設一維數組中有n個數組元素,則讀取第i個數組元素的平均時間復雜度為()。(A)O(n)(B)O(nlog2n)(C)O(1)(D)O(n)2.設一棵二叉樹的深度為k,則該二叉樹中最多有()個結點。

(A)2k-1(B)2k(C)2k-1(D)2k-1 3.設某無向圖中有n個頂點e條邊,則該無向圖中所有頂點的入度之和為()。

(A)n(B)e(C)2n(D)2e 4.在二叉排序樹中插入一個結點的時間復雜度為()。

(A)O(1)(B)O(n)(C)O(log2n)(D)O(n2)5.設某有向圖的鄰接表中有n個表頭結點和m個表結點,則該圖中有()條有向邊。

(A)n(B)n-1(C)m(D)m-1 6.設一組初始記錄關鍵字序列為(345,253,674,924,627),則用基數排序需要進行()趟的分配和回收才能使得初始關鍵字序列變成有序序列。

(A)3(B)4(C)5(D)8 7.設用鏈表作為棧的存儲結構則退棧操作()。

(A)必須判別棧是否為滿(B)必須判別棧是否為空

(C)判別棧元素的類型(D)對棧不作任何判別 8.下列四種排序中()的空間復雜度最大。

(A)快速排序(B)冒泡排序(C)希爾排序(D)堆

9.設某二叉樹中度數為0的結點數為N0,度數為1的結點數為Nl,度數為2的結點數為N2,則下列等式成立的是()。

(A)N0=N1+1(B)N0=Nl+N2(C)N0=N2+1(D)N0=2N1+l 10.設有序順序表中有n個數據元素,則利用二分查找法查找數據元素X的最多比較次數不超過()。

(A)log2n+1(B)log2n-1(C)log2n(D)log2(n+1)

二、填空題(42分)1. 1. 設有n個無序的記錄關鍵字,則直接插入排序的時間復雜度為________,快速排序的平均時間復雜度為_________。

2. 2. 設指針變量p指向雙向循環鏈表中的結點X,則刪除結點X需要執行的語句序列為_________________________________________________________(設結點中的兩個指針域分別為llink和rlink)。3. 3. 根據初始關鍵字序列(19,22,01,38,10)建立的二叉排序樹的高度為____________。4. 4. 深度為k的完全二叉樹中最少有____________個結點。5. 5. 設初始記錄關鍵字序列為(K1,K2,…,Kn),則用篩選法思想建堆必須從第______個元素開始進行篩選。

6. 6. 設哈夫曼樹中共有99個結點,則該樹中有_________個葉子結點;若采用二叉鏈表作為存儲結構,則該樹中有_____個空指針域。

7. 7. 設有一個順序循環隊列中有M個存儲單元,則該循環隊列中最多能夠存儲________個隊列元素;當前實際存儲________________個隊列元素(設頭指針F指向當前隊頭元素的前一個位置,尾指針指向當前隊尾元素的位置)。

8. 8. 設順序線性表中有n個數據元素,則第i個位置上插入一個數據元素需要移動表中_______個數據元素;刪除第i個位置上的數據元素需要移動表中_______個元素。9. 9. 設一組初始記錄關鍵字序列為(20,18,22,16,30,19),則以20為中軸的一趟快速排序結果為______________________________。

10.10.設一組初始記錄關鍵字序列為(20,18,22,16,30,19),則根據這些初始關鍵字序列建成的初始堆為________________________。

11.11.設某無向圖G中有n個頂點,用鄰接矩陣A作為該圖的存儲結構,則頂點i和頂點j互為鄰接點的條件是______________________。

12.12.設無向圖對應的鄰接矩陣為A,則A中第i上非0元素的個數_________第i列上非0元素的個數(填等于,大于或小于)。

13.13.設前序遍歷某二叉樹的序列為ABCD,中序遍歷該二叉樹的序列為BADC,則后序遍歷該二叉樹的序列為_____________。

14.14.設散列函數H(k)=k mod p,解決沖突的方法為鏈地址法。要求在下列算法劃線處填上正確的語句完成在散列表hashtalbe中查找關鍵字值等于k的結點,成功時返回指向關鍵字的指針,不成功時返回標志0。

typedef struct node {int key;struct node *next;} lklist;void createlkhash(lklist *hashtable[ ]){ int i,k;lklist *s;for(i=0;ikey=a[i];k=a[i] % p;s->next=hashtable[k];_______________________;} }

數據結構試卷

(四)參考答案

一、選擇題

1.C 2.D 3.D 4.B 5.C 6.A 7.B 8.A 9.C 10.A

二、填空題

1.1.O(n2),O(nlog2n)2.2.p>llink->rlink=p->rlink;p->rlink->llink=p->rlink 3.3.3 4.4.2k-1 5.5.n/2 6.6.50,51 7.7.m-1,(R-F+M)%M 8.8.n+1-i,n-i 9.9.(19,18,16,20,30,22)10.10.(16,18,19,20,32,22)11.11.A[i][j]=1 12.12.等于 13.13.BDCA 14.14.hashtable[i]=0,hashtable[k]=s

數據結構試卷

(五)一、選擇題(30分)

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,40,45(D)45,40,15,20 3.設一組初始記錄關鍵字序列為(25,50,15,35,80,85,20,40,36,70),其中含有5個長度為2的有序子表,則用歸并排序的方法對該記錄關鍵字序列進行一趟歸并后的結果為()。

(A)15,25,35,50,20,40,80,85,36,70(B)15,25,35,50,80,20,85,40,70,36(C)15,25,35,50,80,85,20,36,40,70(D)15,25,35,50,80,20,36,40,70,85 4.函數substr(“DATASTRUCTURE”,5,9)的返回值為()。

(A)“STRUCTURE”(B)“DATA”

(C)“ASTRUCTUR”(D)“DATASTRUCTURE” 5.設一個有序的單鏈表中有n個結點,現要求插入一個新結點后使得單鏈表仍然保持有序,則該操作的時間復雜度為()。

(A)O(log2n)(B)O(1)(C)O(n2)(D)O(n)6.設一棵m叉樹中度數為0的結點數為N0,度數為1的結點數為Nl,……,度數為m的結點數為Nm,則N0=()。

(A)Nl+N2+……+Nm

(B)l+N2+2N3+3N4+……+(m-1)Nm(C)N2+2N3+3N4+……+(m-1)Nm(D)2Nl+3N2+……+(m+1)Nm

7.設有序表中有1000個元素,則用二分查找查找元素X最多需要比較()次。

(A)25(B)10(C)7(D)1 8.設連通圖G中的邊集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},則從頂點a出發可以得到一種深度優先遍歷的頂點序列為()。

(A)abedfc(B)acfebd(C)aebdfc(D)aedfcb 9.設輸入序列是1、2、3、……、n,經過棧的作用后輸出序列的第一個元素是n,則輸出序列中第i個輸出元素是()。

(A)n-i(B)n-1-i(C)n+1-i(D)不能確定 設一組初始記錄關鍵字序列為(45,80,55,40,42,85),則以第一個記錄關鍵字45為基準而得到一趟快速排序的結果是()。

(A)40,42,45,55,80,83(B)42,40,45,80,85,88(C)42,40,45,55,80,85(D)42,40,45,85,55,80

二、填空題(共30分)1.1.設有一個順序共享棧S[0:n-1],其中第一個棧項指針top1的初值為-1,第二個棧頂指針top2的初值為n,則判斷共享棧滿的條件是____________________。

2.2.在圖的鄰接表中用順序存儲結構存儲表頭結點的優點是____________________。

3.3.設有一個n階的下三角矩陣A,如果按照行的順序將下三角矩陣中的元素(包括對角線上元素)存放在n(n+1)個連續的存儲單元中,則A[i][j]與A[0][0]之間有_______個數據元素。

4.4.棧的插入和刪除只能在棧的棧頂進行,后進棧的元素必定先出棧,所以又把棧稱為__________表;隊列的插入和刪除運算分別在隊列的兩端進行,先進隊列的元素必定先出隊列,所以又把隊列稱為_________表。

5.5.設一棵完全二叉樹的順序存儲結構中存儲數據元素為ABCDEF,則該二叉樹的前序遍歷序列為___________,中序遍歷序列為___________,后序遍歷序列為___________。

6.6.設一棵完全二叉樹有128個結點,則該完全二叉樹的深度為________,有__________個葉子結點。

7.7.設有向圖G的存儲結構用鄰接矩陣A來表示,則A中第i行中所有非零元素個數之和等于頂點i的________,第i列中所有非零元素個數之和等于頂點i的__________。

8.8.設一組初始記錄關鍵字序列(k1,k2,……,kn)是堆,則對i=1,2,…,n/2而言滿足的條件為_______________________________。

9.9.下面程序段的功能是實現冒泡排序算法,請在下劃線處填上正確的語句。void bubble(int r[n]){ for(i=1;i<=n-1;i++){ for(exchange=0,j=0;j<_____________;j++)

if(r[j]>r[j+1]){temp=r[j+1];______________;r[j]=temp;exchange=1;} if(exchange==0)return; } } 10.10.下面程序段的功能是實現二分查找算法,請在下劃線處填上正確的語句。struct record{int key;int others;};int bisearch(struct record r[ ], int k){

int low=0,mid,high=n-1;

while(low<=high){

________________________________;

if(r[mid].key==k)return(mid+1);else if(____________)high=mid-1;else low=mid+1;

}

return(0);}

三、應用題(24分)

1.1.設某棵二叉樹的中序遍歷序列為DBEAC,前序遍歷序列為ABDEC,要求給出該二叉樹的的后序遍歷序列。2.2.設無向圖G(如右圖所示),給出該圖的最小生成樹上邊的集合并計算最小生成樹各邊上的權值之和。

3.3.設一組初始記錄關鍵字序列為(15,17,18,22,35,51,60),要求計算出成功查找時的平均查找長度。

4.4.設散列表的長度為8,散列函數H(k)=k mod 7,初始記錄關鍵字序列為(25,31,8,27,13,68),要求分別計算出用線性探測法和鏈地址法作為解決沖突方法的平均查找長度。

數據結構試卷

(五)參考答案

一、選擇題 1.A 2.B 3.A 4.A 5.D 6.B 7.B 8.B 9.C 10.C

二、填空題

1.1.top1+1=top2 2.2.可以隨機訪問到任一個頂點的簡單鏈表

3.3.i(i+1)/2+j-1 4.4.FILO,FIFO 5.5.ABDECF,DBEAFC,DEBFCA 6.6.8,64 7.7.出度,入度

8.8.ki<=k2i && ki<=k2i+1 9.9.n-i,r[j+1]=r[j] 10.10.mid=(low+high)/2,r[mid].key>k

三、應用題

1.1.DEBCA 2.2.E={(1,5),(5,2),(5,3),(3,4)},W=10 3.3.ASL=(1*1+2*2+3*4)/7=17/7 4.4.ASL1=7/6,ASL2=4/3

數據結構試卷

(六)一、選擇題(30分)1. 設一組權值集合W={2,3,4,5,6},則由該權值集合構造的哈夫曼樹中帶權路徑長度之和為()。

(A)20(B)30(C)40(D)45 2.執行一趟快速排序能夠得到的序列是()。

(A)[41,12,34,45,27] 55 [72,63](B)[45,34,12,41] 55 [72,63,27](C)[63,12,34,45,27] 55 [41,72](D)[12,27,45,41] 55 [34,63,72] 3.設一條單鏈表的頭指針變量為head且該鏈表沒有頭結點,則其判空條件是()。(A)head==0(B)head->next==0(C)head->next==head(D)head!=0 4.時間復雜度不受數據初始狀態影響而恒為O(nlog2n)的是()。

(A)堆排序(B)冒泡排序(C)希爾排序(D)快速排序

5.設二叉樹的先序遍歷序列和后序遍歷序列正好相反,則該二叉樹滿足的條件是()。

(A)空或只有一個結點(B)高度等于其結點數

(C)任一結點無左孩子(D)任一結點無右孩子

6.一趟排序結束后不一定能夠選出一個元素放在其最終位置上的是()。

(A)堆排序(B)冒泡排序(C)快速排序(D)希爾排序 7.設某棵三叉樹中有40個結點,則該三叉樹的最小高度為()。

(A)3(B)4(C)5(D)6 8.順序查找不論在順序線性表中還是在鏈式線性表中的時間復雜度為()。

21/2(A)O(n)(B)O(n)(C)O(n)(D)O(1og2n)9.二路歸并排序的時間復雜度為()。(A)O(n)(B)O(n)(C)O(nlog2n)(D)O(1og2n)10.深度為k的完全二叉樹中最少有()個結點。

(A)2k-1-1(B)2k-1(C)2k-1+1(D)2k-1 11.設指針變量front表示鏈式隊列的隊頭指針,指針變量rear表示鏈式隊列的隊尾指針,指針變量s指向將要入隊列的結點X,則入隊列的操作序列為()。

(A)front->next=s;front=s;(B)s->next=rear;rear=s;

(C)rear->next=s;rear=s;(D)s->next=front;front=s;

12.設某無向圖中有n個頂點e條邊,則建立該圖鄰接表的時間復雜度為()。(A)O(n+e)(B)O(n)(C)O(ne)(D)O(n)13.設某哈夫曼樹中有199個結點,則該哈夫曼樹中有()個葉子結點。

(A)99(B)100(C)101(D)102 14.設二叉排序樹上有n個結點,則在二叉排序樹上查找結點的平均時間復雜度為()。(A)O(n)(B)O(n)(C)O(nlog2n)(D)O(1og2n)15.設用鄰接矩陣A表示有向圖G的存儲結構,則有向圖G中頂點i的入度為()。

(A)第i行非0元素的個數之和(B)第i列非0元素的個數之和

(C)第i行0元素的個數之和(D)第i列0元素的個數之和

二、判斷題(20分)1.調用一次深度優先遍歷可以訪問到圖中的所有頂點。()

2.分塊查找的平均查找長度不僅與索引表的長度有關,而且與塊的長度有關。()3.冒泡排序在初始關鍵字序列為逆序的情況下執行的交換次數最多。()4.滿二叉樹一定是完全二叉樹,完全二叉樹不一定是滿二叉樹。()

5.設一棵二叉樹的先序序列和后序序列,則能夠唯一確定出該二叉樹的形狀。()6.層次遍歷初始堆可以得到一個有序的序列。()

7.設一棵樹T可以轉化成二叉樹BT,則二叉樹BT中一定沒有右子樹。()8.線性表的順序存儲結構比鏈式存儲結構更好。()

9.中序遍歷二叉排序樹可以得到一個有序的序列。()10.快速排序是排序算法中平均性能最好的一種排序。()

三、填空題(30分)1.for(i=1,t=1,s=0;i<=n;i++){t=t*i;s=s+t;}的時間復雜度為_________。

2.設指針變量p指向單鏈表中結點A,指針變量s指向被插入的新結點X,則進行插入操作的語句序列為__________________________(設結點的指針域為next)。3.設有向圖G的二元組形式表示為G =(D,R),D={1,2,3,4,5},R={r},r={<1,2>,<2,4>,<4,5>,<1,3>,<3,2>,<3,5>},則給出該圖的一種拓撲排序序列__________。4.設無向圖G中有n個頂點,則該無向圖中每個頂點的度數最多是_________。5.設二叉樹中度數為0的結點數為50,度數為1的結點數為30,則該二叉樹中總共有_______個結點數。

6.設F和R分別表示順序循環隊列的頭指針和尾指針,則判斷該循環隊列為空的條件為_____________________。

7.設二叉樹中結點的兩個指針域分別為lchild和rchild,則判斷指針變量p所指向的結點為葉子結點的條件是_____________________________________________。8.簡單選擇排序和直接插入排序算法的平均時間復雜度為___________。

9.快速排序算法的空間復雜度平均情況下為__________,最壞的情況下為__________。10.散列表中解決沖突的兩種方法是_____________和_____________。

數據結構試卷

(六)參考答案

一、選擇題 1.D 2.A 3.A 4.A 5.D 6.D 7.B 8.A 9.C 10.B 11.C 12.A 13.B 14.D 15.B

二、判斷題

1.錯 2.對 3.對 4.對 5.錯 6.錯 7.對 8.錯 9.對 10.對

三、填空題

1.1.O(n)2.2.s->next=p->next;p->next=s 3.3.(1,3,2,4,5)4.4.n-1 5.5.129 6.6.F==R 7.7.p->lchild==0&&p->rchild==0 8.8.O(n2)9.9.O(nlog2n),O(n)10.10.開放定址法,鏈地址法

數據結構試卷

(七)一、選擇題(30分)1.設某無向圖有n個頂點,則該無向圖的鄰接表中有()個表頭結點。

(A)2n(B)n(C)n/2(D)n(n-1)2.設無向圖G中有n個頂點,則該無向圖的最小生成樹上有()條邊。

(A)n(B)n-1(C)2n(D)2n-1 3.設一組初始記錄關鍵字序列為(60,80,55,40,42,85),則以第一個關鍵字45為基準而得到的一趟快速排序結果是()。

(A)40,42,60,55,80,85(B)42,45,55,60,85,80(C)42,40,55,60,80,85(D)42,40,60,85,55,80 4.()二叉排序樹可以得到一個從小到大的有序序列。

(A)先序遍歷(B)中序遍歷(C)后序遍歷(D)層次遍歷

5.設按照從上到下、從左到右的順序從1開始對完全二叉樹進行順序編號,則編號為i結點的左孩子結點的編號為()。

(A)2i+1(B)2i(C)i/2(D)2i-1 6.程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的時間復雜度為()。(A)O(n)(B)O(nlog2n)(C)O(n)(D)O(n/2)7.設帶有頭結點的單向循環鏈表的頭指針變量為head,則其判空條件是()。

(A)head==0(B)head->next==0(C)head->next==head(D)head!=0 8.設某棵二叉樹的高度為10,則該二叉樹上葉子結點最多有()。

(A)20(B)256(C)512(D)1024 9.設一組初始記錄關鍵字序列為(13,18,24,35,47,50,62,83,90,115,134),則利用二分法查找關鍵字90需要比較的關鍵字個數為()。

(A)1(B)2(C)3(D)4 10.設指針變量top指向當前鏈式棧的棧頂,則刪除棧頂元素的操作序列為()。

(A)top=top+1;(B)top=top-1;(C)top->next=top;(D)top=top->next;

三、填空題(30分)1.1.設指針變量p指向雙向鏈表中的結點A,指針變量s指向被插入的結點X,則在結點A的后面插入結點X的操作序列為_________=p;s->right=p->right;__________=s; p->right->left=s;(設結點中的兩個指針域分別為left和right)。2.2.設完全有向圖中有n個頂點,則該完全有向圖中共有________條有向條;設完全無向圖中有n個頂點,則該完全無向圖中共有________條無向邊。

3.3.設關鍵字序列為(Kl,K2,…,Kn),則用篩選法建初始堆必須從第______個元素開始進行篩選。

4.4.解決散列表沖突的兩種方法是________________和__________________。

5.5.設一棵三叉樹中有50個度數為0的結點,21個度數為2的結點,則該二叉樹中度數為3的結點數有______個。

6.6.高度為h的完全二叉樹中最少有________個結點,最多有________個結點。7.7.設有一組初始關鍵字序列為(24,35,12,27,18,26),則第3趟直接插入排序結束后的結果的是__________________________________。

8.8.設有一組初始關鍵字序列為(24,35,12,27,18,26),則第3趟簡單選擇排序結束后的結果的是__________________________________。

9.9.設一棵二叉樹的前序序列為ABC,則有______________種不同的二叉樹可以得到這種序列。

10.10.下面程序段的功能是實現一趟快速排序,請在下劃線處填上正確的語句。

struct record {int key;datatype others;};void quickpass(struct record r[], int s, int t, int &i){

int j=t;struct record x=r[s];i=s;

while(i

while(ix.key)j=j-1;if(i

while(____________________)i=i+1;if(i

}

_________________;}

數據結構試卷

(七)一、選擇題 1.B 2.B 3.C 4.B 6.A 7.C 8.C 9.B

三、填空題

1.1.s->left=p,p->right 2.2.n(n-1),n(n-1)/2 3.3.n/2 4.4.開放定址法,鏈地址法 5.5.14 6.6.2h-1,2h-1 7.7.(12,24,35,27,18,26)8.8.(12,18,24,27,35,26)9.9.5 10.10.i

5.B 10.D

數據結構試卷

(八)一、選擇題(30分)1.1.字符串的長度是指()。

(A)串中不同字符的個數(B)串中不同字母的個數

(C)串中所含字符的個數(D)串中不同數字的個數 2.2.建立一個長度為n的有序單鏈表的時間復雜度為()

(A)O(n)(B)O(1)(C)O(n2)(D)O(log2n)3.3.兩個字符串相等的充要條件是()。

(A)兩個字符串的長度相等(B)兩個字符串中對應位置上的字符相等

(C)同時具備(A)和(B)兩個條件(D)以上答案都不對 4.4.設某散列表的長度為100,散列函數H(k)=k % P,則P通常情況下最好選擇()。

(A)99(B)97(C)91(D)93 5.5.在二叉排序樹中插入一個關鍵字值的平均時間復雜度為()。(A)O(n)(B)O(1og2n)(C)O(nlog2n)(D)O(n)6.6.設一個順序有序表A[1:14]中有14個元素,則采用二分法查找元素A[4]的過程中比較元素的順序為()。

(A)A[1],A[2],A[3],A[4](B)A[1],A[14],A[7],A[4](C)A[7],A[3],A[5],A[4](D)A[7],A[5],A[3],A[4] 7.7.設一棵完全二叉樹中有65個結點,則該完全二叉樹的深度為()。

(A)8(B)7(C)6(D)5 8.8.設一棵三叉樹中有2個度數為1的結點,2個度數為2的結點,2個度數為3的結點,則該三叉鏈權中有()個度數為0的結點。

(A)5(B)6(C)7(D)8 9.9.設無向圖G中的邊的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},則從頂點a出發進行深度優先遍歷可以得到的一種頂點序列為()。

(A)aedfcb(B)acfebd(C)aebcfd(D)aedfbc 10.10.隊列是一種()的線性表。

(A)先進先出(B)先進后出(C)只能插入(D)只能刪除

三、填空題(30分)1. 1. 設一組初始記錄關鍵字序列為(49,38,65,97,76,13,27,50),則以d=4為增量的一趟希爾排序結束后的結果為_____________________________。

2. 2. 下面程序段的功能是實現在二叉排序樹中插入一個新結點,請在下劃線處填上正確的內容。

typedef struct node{int data;struct node *lchild;struct node *rchild;}bitree;void bstinsert(bitree *&t,int k){ if(t==0){____________________________;t->data=k;t->lchild=t->rchild=0;} else if(t->data>k)bstinsert(t->lchild,k);else__________________________;} 3. 3. 設指針變量p指向單鏈表中結點A,指針變量s指向被插入的結點X,則在結點A的后面插入結點X需要執行的語句序列:s->next=p->next;_________________。4. 4. 設指針變量head指向雙向鏈表中的頭結點,指針變量p指向雙向鏈表中的第一個結點,則指針變量p和指針變量head之間的關系是p=_________和head=__________(設結點中的兩個指針域分別為llink和rlink)。

5. 5. 設某棵二叉樹的中序遍歷序列為ABCD,后序遍歷序列為BADC,則其前序遍歷序列為__________。

6. 6. 完全二叉樹中第5層上最少有__________個結點,最多有_________個結點。7. 7. 設有向圖中不存在有向邊,則其對應的鄰接矩陣A中的數組元素A[i][j]的值等于____________。

8. 8. 設一組初始記錄關鍵字序列為(49,38,65,97,76,13,27,50),則第4趟直接選擇排序結束后的結果為_____________________________。

9. 9. 設連通圖G中有n個頂點e條邊,則對應的最小生成樹上有___________條邊。10. 10. 設有一組初始記錄關鍵字序列為(50,16,23,68,94,70,73),則將它們調整成初始堆只需把16與___________相互交換即可。

數據結構試卷

(八)參考答案

一、選擇題 1.C 2.C 3.C 4.B 5.B 6.C 7.B 8.C 9.A 10.A

三、填空題

1.1.(49,13,27,50,76,38,65,97)2.2.t=(bitree *)malloc(sizeof(bitree)),bstinsert(t->rchild,k)3.3.p->next=s 4.4.head->rlink,p->llink 5.5.CABD 6.6.1,16 7.7.0 8.8.(13,27,38,50,76,49,65,97)9.9.n-1 10.10.50

第四篇:2012復習題答案

簡述蔣經國對臺灣發展的重要貢獻。1969年,60歲的蔣經國接任“行政院”副院長,開始接手管理整個政府。1973年,在臺灣社會處于強烈的外交挫折感之際,他宣布提出一項大規模的經濟發展計劃“十大建設”等能源、交通和重工業制造等基礎建設,以快速地將臺灣推入高度開發的社會。蔣經國在臺灣發展經濟,使臺灣成為亞洲四小龍之一。

蔣經國總是強調,抓人槍斃不能解決問題,而他倡導的包容態度,更為臺灣奠定了民主改革的基石。面對來自臺灣島內人民的不同聲音,他采取了接納、包容的態度,他愿意承擔民主改革失敗或成功的所有責任。1987年7月14日,由蔣經國正式簽署發表,宣布將從7月15日零點起在臺灣地區“解嚴”,可以稱之為世界戒嚴之最的、持續38年的“戒嚴令”的就此撤銷。

簡述李登輝上臺后國民黨的三次分裂。李登輝初任“總統”時,重用郝伯村等外省籍大老任“行政院長”及其他重要職位,使外省派對李登輝放松戒心,但李登輝則暗中架空外省派的權力,到最后李登輝與郝伯村的斗爭明朗化,演變成一場黨內的斗爭,造成“新國民黨連線”出走,并創立新黨,郝伯村則為新黨的精神領袖。宋楚瑜成為第一任民選“省長”。不過這第一任也在李登輝運作的“精省”下成了最后一任。宋楚瑜與“省府”系統人士出走,成立親民黨,成為國民黨第二次的分裂。

國民黨的第三次分裂,是李登輝與連戰之爭,連戰可說是李登輝一手提拔,從“行政院長”到“副總統”,但是去年“大選”的失敗,李登輝被黨內指責輔選不力,黯然下臺,連戰則接任失去政權后的國民黨黨主席。

簡述連戰訪問大陸的意義。

一、連戰借“和平之旅”推動兩岸關系發展,爭取島內民心,也為個人政治生涯創造歷史。

二、臺當局誣蔑“和平之旅”,淡化連戰大陸行的積極意義和對“臺獨”的沖擊,鞏固泛綠選票。

三、連戰訪問大陸將取得重大成果,不僅將建立國共兩黨高層對話機制,建立“黨對黨”的交流對話新渠道,更將對兩岸關系的發展起到積極的推動作用。

四、連戰大陸行說明緩和、發展兩岸關系仍是島內主流民意,更說明大陸“以人為本”的對臺政策深得民心。

簡述臺獨思潮的主要社會根源。“臺獨”思潮是關于解決臺灣問題的一種政治主張或思想傾向,即謀求將臺灣從中國分離出去,成為一個“獨立國家”。臺獨思潮及臺獨運動是一種非常復雜的社會政治意識及行動,它的產生有著深刻的社會、歷史、政治及文化的背景。

(一)“臺灣意識”的負面作用被膨脹利用

(二)國民黨的獨裁及其封閉式的反共的大陸政策

(三)經濟的畸形發展與其國際地位的不相稱性

(四)美國對臺的“雙軌政策”

(五)李登輝主政后的國民黨主流派日趨“臺獨”化,助長、縱容了臺獨勢力的發展

簡述臺灣問題的由來、本質。中華人民共和國成立后,美國政府原本可以從中國內戰的泥潭中拔出來,但它沒有這樣做,而是對新中國采取了孤立、遏制的錯誤政策。它在中國人民積極準備解放臺灣時,利用朝鮮戰爭爆發的機會,公然派遣第七艦隊侵入臺灣海峽,阻撓中國人民解放臺灣的正義行動,武裝干涉純屬中國內政的海峽兩岸關系,并通過與臺灣當局簽訂所謂“共同防御條約”,將中國領土臺灣置于美國的“保護”之下。美國政府的政策,造成了臺灣當局在其庇護下,與大陸軍對峙超過50年。臺灣海峽地區局勢因之長期緊張,臺灣問題也由此成為中美兩國間的重大爭端

臺灣在第二次世界大戰之后,不僅在法律上而且在事實上已歸還中國。之所以又出現臺灣問題,與隨后中國國民黨發動的反人民內戰有關,但更重要的是外國勢力的介入。臺灣問題的實質是中國的內政問題。臺灣問題長期得不到解決,美國政府負有重大責任。

簡述ECFA協議對兩岸關系的影響。兩岸簽署的ECFA協議,它對于兩岸關系和平發展所產生的影響將是深遠而重大的,它標志兩岸關系和平發展的進程取得了重大歷史性突破。

①通過ecfa,兩岸互信進一步加強,有利兩岸制度化協商向縱深推進

②在一定程度上削弱了“臺獨”的社會根基,提升臺灣民眾對大陸的好感與認同,為未來進行政治協商不斷累積制度性合作的基礎

③ecfa的簽署不但打破兩岸經貿關系的隔閡,也使兩岸和平共同發展更進一步。

一是簽署ECFA是兩岸關系和平發展的里程碑。ECFA是兩岸60年以來簽訂的最重要、最復雜、影響最廣的協議。島內主流媒體一致認為此次協議對兩岸關系和平發展具有“里程碑意義”。

二是兩岸互信進一步加強,有利兩岸制度化協商向縱深推進。ECFA將為兩岸經濟合作制度化奠定良好的基礎,是今后向更深層制度合作的良好開端,對兩岸形成一個有效的區域經濟合作體系和共同市場架構具有重要價值。島內輿論認為,通過ECFA的簽署將為兩岸關系開啟“互信協商”新時代。

三是一定程度削弱“臺獨”社會根基。大陸透過釋放善意與誠意,將提升臺灣民眾對大陸的好感與認同,讓“臺獨”勢力在島內造勢的市場進一步受到限制。《聯合報》評論認為,隨著兩岸關系進一步緊密,兩岸“化敵為友”的民眾情緒逐漸濃厚,這將使“臺獨”意識形態“接近破除”。

四是為未來兩岸政治協商開展積累“和平善因”。ECFA商簽過程為兩岸以協商方式解決政治問題提供了豐富的成功經驗。同時,未來兩岸將進一步密集開展更多的經貿、文化交流,特別是ECFA協議確定兩岸經貿社團將互設機構,籌設“兩岸經濟合作委員會”等官方、半官方的合作機制,這為未來進行政治協商不斷累積制度性合作的基礎。

總之,ECFA簽署標志著兩岸經濟關系進入一個新階段,對未來兩岸關系發展產生深遠影響。正如國臺辦主任王毅所言,ECFA簽訂將“有利于兩岸共同提升經濟競爭力,有利于兩岸共同增進廣大民眾福祉,有利于兩岸共同促進中華民族整體利益,有利于兩岸共同應對區域經濟一體化的機遇和挑戰”。

論述題:

1.結合相關資料,論述兩岸實現“大三通”的重要歷史意義。兩岸實現全面直接雙向三通,是兩岸關系發展中一件具有重要歷史意義的事件。“三通”的實現,大大減少了飛行航行兩岸的時間,縮短了路程,節約了成本,提高了效率,極大的促進了兩岸民眾的相互往來,促進了兩岸各領域的交流和合作,密切了兩岸的經貿關系,增進了兩岸同胞的福祉,推進了兩岸關系和平發展的進程。當然隨著“三通”的推進,會不斷地改善,更好地滿足兩岸人民的需求。比如進一步增加航班的問題,因為票價的問題說到底還是一個供求關系的問題。隨著兩岸關系迅速的發展,隨著兩岸三通的深入推進,這些問題都會得到更好的解決。

第一,“三通”是兩岸和平發展及良性互動的成果,也是兩岸關系可持續發展的保證。且勿論政治上、軍事上的意義,單是經濟上、民生上的意義,已使兩岸人民“拍爛手掌”。無論是世界格局或兩岸格局,和平都是主流,都是民眾的要求和期盼。假如以“和平”及“戰爭”給兩岸人民選擇,筆者敢說,除了陳水扁等極端偏激的“臺獨”原教旨主義者,兩岸人民只會選擇和平,絕對拒絕戰爭。臺灣人民不會像陳水扁那樣叫囂“決戰境外”,這是喪心病狂的吹牛之言,以兩岸的總體實力,試問有可能“決戰境外”嗎?阿扁是在“癡人說夢”。只有兩岸保持和平狀態,才是臺灣長治久安之道。既以和平為圭臬,軍事上已沒有什么大問題。政治上,下一步可能是朝向簽訂和平協議前進。目標明確,但不必著急,更不必強求,只要雙方都有誠意和善意,條件成熟時,水到渠就成。和平,一切從和平出發,這是兩岸未來關系發展的最高準則,這也是兩岸雙方的共識。

第二,“三通”開始后,兩岸將迎來大交流、大合作、大共融、大發展的新局面。就兩岸關系而言,這是半個多世紀以來前所未有的大時代,甚至是由日據時代起一個多世紀以來前所未有的大時代。剛剛開始不久的二十一世紀,有可能就是臺海兩岸大力發展經濟,并且在國際經濟層面大展拳腳的世紀。世上早就有“二十一世紀是中國人的世紀”這一說法。的確,全面實現“三通”后,兩岸關系的發展,將向世人展示,對于中國,二十一世紀是一個大時代的來臨。

第三,兩岸“三通”之后,臺海的形勢肯定不再是“火藥庫”,戰爭的可能性即被極度地淡化,真正符合“中國人不打中國人”這樣一個崇高的目標。近六十年來,兩岸關系有時見好,有時僵持,有時緊張,偶而甚至出現劍拔弩張或擦槍走火的高危情景,國際上因而將臺海形容為“火藥庫”之一,與伊朗及朝鮮的“核武”問題并列。

“三通”之后,兩岸建立軍事互信,對話取代對抗,談判取代對立,和解取代沖突。時機成熟時,兩岸可展開和平協議的談判,最終必會簽訂,以符兩岸人民的期盼。長遠而言,兩岸將會統一,這也就是馬英九所說的“終極統一”。“大中華經濟圈”基礎堅實

第四,在“三通”之中,通商早已在半明半暗中進行,通郵則較少轟轟烈烈的效果,最受人注意的則是通航,包括空運直航和海運直航。這次直航首日,兩岸的空港、海港均有隆重盛大的啟航儀式。例如中臺辦、國臺辦主任王毅在天津港,馬英九在高雄港,分別主持兩岸海運直航儀式。直航的最大意義是省時省成本,體現了兩岸同胞本是一家人。比之于過去的“曲航”,無論是航機或貨輪,均必須經香港或日本中轉,那是方便多了。

第五,兩岸人民以至全世界的華人,長期以來一直憧憬“大中華經濟圈”,這可以說是民族性使然,也是中華民族向心力、凝聚力的表現。大陸和臺灣,無疑是“大中華經濟圈”的骨干和支柱。過去很長一段時間,“大中華經濟圈”談得多而做得少,非不為也,乃不能也,因兩岸有隔閡,甚至有“獨派”人物蓄意“阻頭阻勢”。“三通”之后,阻路的石頭已經搬開,甚至已經砸碎,兩岸的合作共融,將成為金融合作、拓展全球經貿的重要平臺,成為實現“大中華經濟圈”的堅實基礎。

2.結合兩岸關系現狀,綜述2008年馬英九執政以來兩岸關系的發展變化。馬英九執政一年來,兩岸關系步入和平發展軌道,取得重大突破。兩岸民眾情感日益加深,島內主流民意期盼兩岸和平發展。未來兩岸關系必將圍繞經濟合作、文化教育交流、民間往來等議題繼續推進,取得更大進展。

一、兩岸雙方把握歷史契機,努力推動兩岸關系發展馬英九上臺后承認“九二共識”、反對“法理臺獨”。3.2012臺灣地區大選后,臺灣社會走向及兩岸關系展望。馬英九以近80萬優勢的高票后的連任,而這選舉的結果是為維護兩岸關系前四年和平發展的成果,并確保今后四年沿著和平發展的道路繼續前進,爭取到了寶貴的先機。毫無疑問,兩岸執政當局應抓住機遇,從政治、文化、經濟和社會層面障礙深入交流,這樣必然會推動兩岸關系朝著更加緊密關系邁進。政治互信會更加鞏固。在經濟方面,會有更加緊密的聯系。在文化方面,兩岸文化本屬同源,也共同繼承中華文化及歷史情感。未來四年兩岸的文化交流不僅指現有的民間各項交流應繼續,每年一次的兩岸大型經貿文化論壇和海峽論壇應照常舉辦,還會在制度化、機制化、正常化上有所突破。

4.綜論臺灣民主化的歷程 形成:1949年國民黨敗退到了臺灣。為了穩固統治,臺灣一直實行“軍事戒嚴”,國民黨在臺灣施行的是專制統治。從1960年知識分子主導的“自由中國”到1971年大眾參與的“保釣運動”,從1979黨外人士與國民黨政府抗爭的“美麗島事件”到美國影響下的“江南案”,從1986年民進黨成立到1987年7月14日年蔣經國宣布正式取消持續了38年的“戒嚴令”,象征著臺灣正式進入了一個自由民主的社會。

原因:臺灣民主化的發生,有兩個重要的原因,一是臺灣社會面對的內外變化,二是臺灣領導人的決斷。

(首先是臺灣社會的發展,給了國民黨政府很大的壓力。當臺灣的經濟在70年代取得大發展的同時,臺灣的中產階級也成長起來,同時臺灣也逐漸開始對外開放,大量的人走出臺灣,了解世界。在這種情況下,臺灣社會內部要求言論自由、結社自由,要求民主的呼聲在不斷加大。社會要求開放公眾政治參與之路,讓公民進行政治參與,而不是國民黨壟斷權力。社會各界辦的各種各樣的媒體不斷涌現,隨封隨開,政府無法禁止;非政府組織也大量出現。與此同時,國際形勢發生了巨大的變化,中國大陸進入聯合國,臺灣退出聯合國,引起臺灣內部巨大的震動;中國大陸從70年代末實行的改革開放政策帶來了國際大格局的轉變,對臺灣帶來更為巨大的外來壓力。)

這些內外壓力,形成了對國民黨政府的巨大挑戰,迫使臺灣地區領導人經過再三考慮,終于在1987年果斷地宣布解除戒嚴,順應民意,開放媒體和社會空間,并開放臺灣民眾到大陸探親訪問。

發展:雖然臺灣1987年“解嚴”,標志著臺灣從此進入一個自由的社會。但選舉制度的完善還有很長的路要走:1990年,萬年國代取消;1994年,省市長直選;1996年,“總統”直選。2000年,陳水扁勝選,民進黨執政,臺灣首次通過民主的方式完成政黨輪替;2004年,兩顆子彈讓陳水扁轉敗為勝,讓我們看到了民主帶來的亂象;臺灣民主混亂的一面,統獨、族群、省籍均成操縱民意的手段,而經濟凋零、貪腐橫行。一個成功的反對黨不一定能同樣成為一個成功的執政黨。

2008年,馬英九勝選,曾經的威權政黨又通過民主的方式卷土重來,臺灣民主,也一步步走向成熟。臺灣民主開始走向成熟:

一、臺灣選民抵制住煽動和誘惑,表現出了成熟和理性,讓全球華人對民主有了信心。

二、一個威權的政黨因推行民主失去政權之后,在民主的浴火中完成自身鳳凰涅磐,再次卷土重來。

(臺灣開放民主的道路也逐漸引起了國民黨內部的變化。蔣經國去世以后,對于臺灣民主的走向,在國民黨內部形成了委任直選和公民直選兩大派的爭論,導致第一次國民黨的分裂,新黨出走,并成為一個有實力的反對黨。臺灣的民主化最終導致領導人的全民直接選舉。1996年,臺灣進行了有史以來的第一次全民大選。如果從理解民主最主要的內容是選舉來看的話,這就是臺灣民主的真正開始。在1996年的選舉中,雖然面對各路人馬的競爭,國民黨還是輕易取得了勝利,繼續執政。但是在2000年的大選中,執政的國民黨內部發生分裂。當時,宋楚瑜和國民黨領導人鬧翻,結果以獨立候選人身份參選。宋楚瑜的參選再次分裂了國民黨,分散了國民黨的支持票,結果民進黨候選人陳水扁贏得了大選的勝利,當時陳水扁的得票率只有39.3%。在2004年的選舉中,國民黨和其它泛藍力量進行整合,由連戰和宋楚瑜聯袂出馬競選,本來大有希望贏得選舉的勝利,但是或許是由于選舉中出現的“兩顆子彈”事件,使得民進黨以微弱多數再次贏得選舉勝利。一直到2008年,馬英九和蕭萬長再次統合泛藍力量,才奪回了丟失8年之久的臺灣政權)

第五篇:數據結構期中試卷及答案

一、選擇題(每小題2分,共30分)1.數據結構是(D)。

A.一種數據類型 B.數據的存儲結構 C.一組性質相同的數據元素的集合

D.相互之間存在一種或多種特定關系的數據元素的集合

2.以下與數據的存儲結構無關的術語是(D)。

A.鏈隊列 B.鏈表 C.順序表 D.棧

3.以下數據結構中,(A)是非線性數據結構

A.樹 B.字符串 C.隊 D.棧

4.一個順序存儲線性表的第一個元素的存儲地址是90,每個元素的長度是2,則第6個元素的存儲地址是(B)。

A.98 B.100 C.102 D.106

5.在線性表的下列運算中,不改變數據元素之間結構關系的運算是(D)。A.插入 B.刪除 C.排序 D.查找

6.線性表采用鏈式存儲時,其地址(D)。

A.必須是連續的 B.一定是不連續的 C.部分地址必須連續 D.連續與否均可以

7.線性表是(A)。

A.一個有限序列,可以為空 B.一個有限序列,不可以為空 C.一個無限序列,可以為空 D.一個無限序列,不可以為空

8.若進棧序列為1,2,3,4,5,6,且進棧和出棧可以穿插進行,則可能出現的出棧序列為(B)。

A.3,2,6,1,4,5 B.3,4,2,1,6,5 C.1,2,5,3,4,6 D.5,6,4,2,3,1

9.若一個棧的輸人序列是1,2,3,…,n,輸出序列的第一個元素是n,則第k個輸出元素是(C)。

A.k B.n-k-1 C.n-k+1 D.不確定

10.對于隊列操作數據的原則是(A)。

A.先進先出 B.后進先出 C.先進后出 D.不分順序 11.棧和隊列的共同點是(C)。

A.都是先進先出 B.都是先進后出 C.只允許在端點處插入和刪除元素 D.沒有共同點

12.在一個鏈隊列中,假定front和rear分別為頭指針和尾指針,刪除一個結點的操作是(A)。

A.front=front->next B.rear=rear->next C.rear->next=front D.front->next=rear

13.空串與空格串(B)。

A.相同 B.不相同 C.可能相同 D.無法確定

14.串與普通的線性表相比較,它的特殊性體現在(C)。A.順序的存儲結構 B.鏈接的存儲結構 C.數據元素是一個字符 D.數據元素可以任意

15.串的長度是指(B)。

A.串中所含不同字母的個數 B.串中所含字符的個數

C.串中所含不同字符的個數 D.串中所含非空格字符的個數

二、填空題(每空2分,共20分)

1. 線性表、棧和隊列,串都是__線性_____結構。2. 數據的基本單位是__數據元素_______________。

3. 當線性表的元素總數基本穩定,且很少進行插入和刪除操作,但要求以最快的速度存取線性表中的元素時,應采用_順序______存儲結構。4. 已知具有n個元素的一維數組采用順序存儲結構,每個元素占k個存儲單元,第一個元素的地址為Loc(a1),那么,第i個元素的存儲地址Loc(ai)= Loc(a1)+(i-1)*k。5. 棧(stack)是限定在表尾進行插人或刪除操作的線性表。在棧中,允許插人和刪除操作的一端稱為__棧頂________,而另一端稱為_棧底________。6. 一個循環隊列Q中,頭指針和尾指針分別為Q.front和Q.rear,且最大隊列長度為MaxQSize,則判斷隊空的條件為 Q.rear==Q.front,判斷隊滿的條件為(Q.rear+1)%MaxQSize==Q.front。隊列的長度為(.rear-Q.front+MaxQSize)%MaxQSize

7. 兩個串相等的充分必要條件是 兩個串的長度相等,且各個對應位置的字符都相等。

三、程序填空題(每空3分,共30分)

1.在帶頭結點的單鏈表L中第i個數據元素之前插入數據元素e的C語言描述算法如下,其中L為鏈表頭結點指針。請填充算法中標出的空白處,完成其功能。

typedef struct node {int data;

struct node *next;

}linknode,*link;

int ListInsert_L(link &L, int i, int e){ Linknode *p;int j; p = L; j = 0;

while(p && j < i-1){ p=p->next ; ++j; } // 尋找第i-1個結點 if(!p || j > i-1)return 0;

s=(link)malloc(sizeof(linknode));// 生成新結點s s->data = e;

s->next=p->next ; p->next = s; // 插入L中 return 1; }

2.對順序棧的C語言描述算法如下,其中top為棧頂指針,請填充算法中標出的空白處,插入元素e為新的棧頂元素。

#define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef struct{ char *base;char *top;int stacksize;}SqStack;

int Push(SqStack &S, char e){ //

if((s.top-s.base)>=s.stacksize)//棧滿,追加存儲空間 { S.base=(SElemType *)realloc(S.base,S.stacksize+STACKINCREMENT)*sizeof(SElemType)); if(!S.base)return 0;

S.top = s.base+s.stacksize ; //修改棧頂指針 S.stacksize += STACKINCREMENT; } *s.top++=e ;//插入元素 return 1; }

3.對鏈隊列的C語言描述算法如下,請填充算法中標出的空白處,刪除隊列Q 的隊頭元素并用e返回其值。typedef struct QNode{ QElemType data; struct QNode *next; }QNode, *QueuePtr;

typedef struct { QueuePtr front; QueuePtr rear; }LinkQueue;

int DeQueue(LinkQueue &Q, QElemType &e){ Linknode *p;

if(Q.front==Q.rear)retrun 0;//隊列空,返回 p = Q.front-> next; e = p->data;

Q.front-> next=p->next;//修改指針

if(Q.rear==p)Q.rear= Q.front ; //隊列只有一個元素的情況 free(p);//釋放結點空間 return 1; }

三、算法設計與分析題(每題10分,共20分)

1、簡述下列算法實現的功能:(每題5分,共10分)(1)typedef struct LNode{

Char data;

struct LNode *next;}LNode,*LinkList;LinkList Demo(LinkList &L){ // L 是無頭結點單鏈表 LNode *Q,*P;if(L&&L->next){

Q=L;L=L->next;P=L;while(P->next)P=P->next;

P->next=Q;Q->next=NULL;

} return L;}// Demo 答:將單鏈表的第一個結點刪除,放到鏈尾。

———————————————————————————————————————————————————

(2)#define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef struct{ int *base;int *top;int stacksize;

} Stack;void Demo1(Stack &S, int m){ Stack T;int i;

InitStack(T);//初始化棧

while(!StackEmpty(S))//判斷棧是否為空

if((i=Pop(S))!=m)Push(T,i);//入棧操作

while(!StackEmpty(T))

{

i=Pop(T);//出棧操作

Push(S,i);

}

} 答:刪除棧S中所有值為m的數據元素

2.有一個帶頭結點的單鏈表,頭指針為head,編寫一個算法計算所有數據域為X的結點的個數(不包括頭結點)。typedef struct node {int data;struct node *next;}linknode,*link;int sample(link head, int X){ int count=0;link p=head->next;while(p){if(p->data==X)count++;p=p->next;} return count;}

下載數據結構復習題及答案5篇word格式文檔
下載數據結構復習題及答案5篇.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    2013臺灣省數據結構試題及答案(推薦)

    1、串的邏輯結構與( D )的邏輯結構不相同。 A)線性表 B)棧 C)隊列 D)集合 2、廣義表head(((a,b),(c,d)))的運算結果為( A )。 A)(a,b) B)(c,d) C)空表 D)((a,b),(c,d)) 3、鏈式存儲的存......

    數據結構習題與答案

    第 1 章 緒 論 課后習題講解 1. 填空 ⑴( )是數據的基本單位,在計算機程序中通常作為一個整體進行考慮和處理。 【解答】數據元素 ⑵( )是數據的最小單位,( )是討論數據結構時涉......

    數據結構考試題目及答案

    數據結構試題6 一、單項選擇題(每小題3分,共30分) 1.設棧的輸入序列是1、2、3、4,則______不可能是其出棧序列。( ) [A] 1234 [B] 2134 [C] 1432 [D] 4312 2.在一個具有n個結......

    數據結構期中考試試卷答案(最終定稿)

    2014-2015學年度第一學期《數據結構》 期中考試試卷 一、 選擇題(每題2分,共20分) 1. 計算機內部數據處理的基本單位是( B )。 A.數據 B.數據元素C.數據項D.數據庫 2. 設語句x++的......

    數據結構試卷(一)及答案

    數據結構試卷(一) 一、選擇題(20分) 1.組成數據的基本單位是( )。(A) 數據項 (B) 數據類型 (C) 數據元素 (D) 數據變量 2.設數據結構A=(D,R),其中D={1,2,3,4},R={r},r={,,,},則數據結構A是( )。(A......

    java數據結構測試題及答案解析

    Java數據結構試題及解析 1 下列數據結構中,能用二分法進行查找的是__A____。 A、順序存儲的有序線性表 B、線性鏈表 C、二叉鏈表 D、有序線性鏈表 解析:二分法查找只適用于順......

    數據結構考研真題及其答案

    一、選擇題 1. 算法的計算量的大小稱為計算的( B )。【北京郵電大學2000 二、3 (20/8分)】 A.效率 B. 復雜性 C. 現實性 D. 難度 2. 算法的時間復雜度取決于(C )【中科院計算所 19......

    數據結構試題及答案10(五篇材料)

    《數據結構》自考復習思考試題 一、單項選擇題(本大題共15小題,每小題2分,共30分) 在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選......

主站蜘蛛池模板: 黄网站色视频免费观看| 久久精品a一国产成人免费网站| 午夜福利国产成人a∨在线观看| 国内精品人妻久久毛片app| 日本高清视频www夜色资源| 青草精品国产福利在线视频| 午夜精品视频在线无码| 玩弄白嫩少妇xxxxx性| 成av人片在线观看天堂无码| 国产激情久久久久久熟女老人av| 国产肉体ⅹxxx137大胆| 一区二区三区午夜无码视频| 97国产露脸精品国产麻豆| 漂亮人妻被中出中文字幕| 婷婷五月婷婷五月| 少妇无码一区二区三区| 亚洲日韩av一区二区三区中文| 一本久久综合亚洲鲁鲁五月天| 亚洲国产精品无码久久久不卡| 国产性生交xxxxx免费| 中国少妇xxxx做受| 男女性杂交内射妇女bbwxz| 亚洲乱码日产精品bd在线看| 国产成人亚洲影院在线观看| 国产女人的高潮国语对白| 艳妇臀荡乳欲伦69调教视频| 少妇被粗大的猛进出69影院| 亚洲欧美中文日韩v日本| 一区二区三区在线 | 欧| 国产乱码精品一区三上| 99久热在线精品视频观看| 伊人婷婷六月狠狠狠去| 男女下面一进一出好爽视频| 久久综合九色综合欧美就去吻| 国产av国片精品jk制服丝袜| 亚洲中文有码字幕青青| 日韩精品亚洲精品第一页| 红杏亚洲影院一区二区三区| 免费观看一区二区三区| 制服丝袜中文字幕在线| 八区精品色欲人妻综合网|