數(shù)據結構考試題庫含答案_第1頁
數(shù)據結構考試題庫含答案_第2頁
數(shù)據結構考試題庫含答案_第3頁
數(shù)據結構考試題庫含答案_第4頁
數(shù)據結構考試題庫含答案_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄目錄1選擇題2第一章緒論2第二章線性表4第三章棧和隊列5第四章串6第五章數(shù)組和廣義表7第六章樹和二叉樹7第七章圖9第八章查找11第九章排序12簡答題15第一章緒論15第二章線性表20第三章棧和隊列22第四章串24第五章數(shù)組和廣義表24第六章樹和二叉樹26第七章圖31第八章查找33第九章排序34編程題36第一章緒論36第二章線性表36第三章棧和隊列46第四章串46第五章數(shù)組和廣義表46第六章樹和二叉樹46第七章圖46第八章查找46第九章排序51選擇題第一章緒論1. 數(shù)據結構這門學科是針對什么問題而產生的?(A )A、針對非數(shù)值計算的程序設計問題B、針對數(shù)值計算的程序設計問題C、數(shù)值計算與非數(shù)

2、值計算的問題都針對D、兩者都不針對2. 數(shù)據結構這門學科的研究內容下面選項最準確的是(D )A、研究數(shù)據對象和數(shù)據之間的關系B、研究數(shù)據對象C、研究數(shù)據對象和數(shù)據的操作D、研究數(shù)據對象、數(shù)據之間的關系和操作3. 某班級的學生成績表中查得張三同學的各科成績記錄,其中數(shù)據結構考了90分,那么下面關于數(shù)據對象、數(shù)據元素、數(shù)據項描述正確的是(C )A、某班級的學生成績表是數(shù)據元素,90分是數(shù)據項B、某班級的學生成績表是數(shù)據對象,90分是數(shù)據元素C、某班級的學生成績表是數(shù)據對象,90分是數(shù)據項D、某班級的學生成績表是數(shù)據元素,90分是數(shù)據元素4. *數(shù)據結構是指(A )。A、數(shù)據元素的組織形式B、數(shù)據類

3、型C、數(shù)據存儲結構D、數(shù)據定義5. 數(shù)據在計算機存儲器內表示時,物理地址與邏輯地址不相同,稱之為(C )。A、存儲結構B、邏輯結構C、鏈式存儲結構D、順序存儲結構6. 算法分析的目的是(C )A、找出數(shù)據的合理性B、研究算法中的輸入和輸出關系C、分析算法效率以求改進D、分析算法的易懂性和文檔型性7. 算法分析的主要方法(A )。A、空間復雜度和時間復雜度B、正確性和簡明性C、可讀性和文檔性D、數(shù)據復雜性和程序復雜性8. 計算機內部處理的基本單元是(B )A、數(shù)據B、數(shù)據元素C、數(shù)據項D、數(shù)據庫9. 數(shù)據在計算機內有鏈式和順序兩種存儲方式,在存儲空間使用的靈活性上,鏈式存儲比順序存儲要(B )。

4、A、低 B、高C、相同D、不好說10. 算法的時間復雜度取決于( C )A 、問題的規(guī)模B、待處理數(shù)據的初始狀態(tài)C、問題的規(guī)模和待處理數(shù)據的初始狀態(tài)D、不好說11. 數(shù)據結構既研究數(shù)據的邏輯結構,又研究物理結構,這種觀點(B )。A、正確B、錯誤C、前半句對,后半句錯D、前半句錯,后半句對12. 在數(shù)據結構中,從邏輯上可以把數(shù)據結構分成( C )A、動態(tài)結構和靜態(tài)結構B、緊湊結構和非緊湊結構C、線性結構和非線性結構D、內部結構和外部結構13. 線性表的順序存儲結構是一種( )的存儲結構,線性表的鏈式存儲結構是一種( A )存儲結構。A、隨機存取B、順序存取C、索引存取D、散列存取14. *下列

5、程序的時間復雜度是(A )for (i=1; i<=n; +i)for (j=1; j<=n; +j) c ij=0;A、O(n2)B、O(n)C、O(2n)D、O(2n2)15. *下列程序的空間復雜度是(A )for (i=1; i<=n; +i)for (j=1; j<=m; +j) c ij=0;A、O(m*n)B、O(m+n)C、O(m-n)D、O(m/n)16. *求下列程序段的時間復雜度( B )for( i=1; i<=n ; i + + )for ( j=1; j<=n ; j + + ) x=x+1;A、O(n2) B、O(n) C、O(

6、1) D、O(0)第二章 線性表1. 關于線性表的說法不正確的是?(D )A、存在唯一的一個被稱為“第一個”的數(shù)據元素(開始結點)B、存在唯一的一個被稱為“最后一個”的數(shù)據元素(終端結點)C、除第一個之外,集合中的每個數(shù)據元素均只有一個前驅D、除第一個之外,集合中的每個數(shù)據元素均只有一個后繼2. 關于順序表的說法不正確的是?(D )A、邏輯關系上相鄰的兩個元素在物理存儲位置上也相鄰B、可以隨機存取表中任一元素,方便快捷C、在線性表中插入某一元素時,往往需要移動大量元素D、在線性表中刪除某一元素時,無需移動大量元素3. 當線性表的元素總數(shù)基本穩(wěn)定,且很少進行插入和刪除操作,但要求以最快的速度存取

7、線性表中的元素時,應采用什么存儲結構?(A )A、順序表B、單鏈表C、循環(huán)鏈表D、雙鏈表4. 在一個長度為n的順序表中第i個元素(1<=i<=n)之前插入一個元素時,需向后移動多少個元素。(C )A、n-1B、n-iC、n-i+1D、n-i-15. 在單鏈表中設置頭結點的作用是( )。A、單鏈表定義而已B、指定表的起始位置C、為雙向鏈表做準備D、為循環(huán)鏈表做準備6. 根據線性表鏈式存儲結構中每一個結點包含的指針數(shù),將線性鏈表分成(C )A、單鏈表與循環(huán)鏈表B、單鏈表與十字鏈表C、單鏈表與雙鏈表D、循環(huán)鏈表與多鏈表7. 鏈接存儲的特點是利用什么來表示數(shù)據元素之間的邏輯關系(A)A、引

8、用B、串聯(lián)C、掛接D、指派8. 已知指針p指向單鏈表L中的某結點,則刪除其后繼結點的語句是(D )9. *在單鏈表L中,指針p所指結點有后繼結點的條件是(B )A、p = p.nextB、p.next!=null10. *在單鏈表p結點之后插入s結點的操作是(C )A、p.next=s; s.next=p.next;B、s.next = p.next; p.next=p.next.next;C、s.next = p.next; p.next = s;D、s.next=p; p.next=s;第三章 棧和隊列1. 棧、隊列通常采用兩種存儲結構,它們是(B )A、散列方式和索引方式B、順序存儲結構

9、和鏈式存儲結構C、鏈表存儲結構和數(shù)組D、線性和非線性存儲結構2. 一個棧入棧序列是a,b,c,d, 則棧輸出序列不可能是(C )A、d,c,b,aB、c,d,b,aC、d,c,a,b D、a,b,c,d3. 判斷順序棧(最多結點數(shù)為m)為棧滿的條件是(D)A、top=0 B、 top!=m C、 top!=0 D、top=m4. 棧存取數(shù)據原則(或棧特點)是(B)A、后進后出 B、后進先出 C、先進先出 D、隨意進出5. *經過以下棧運算后,x的值是(A)InitStack(s);Push(s,d);Push(s,e);Pop(s,x); Pop(s,x);GetTop(s,x);A、 d B

10、、 e C 、 x D、 s6. 一個隊列的進隊序列為:a,b,c,d,則出隊序列是: ( A )A、a,b,c,d B、 d,c,b,aC、a,d,c,b D、 c,b,d,a7. 循環(huán)隊列為空隊列的條件是:(D)A、Q.front=0 B、 Q.(C、 Q.rear=0 D、8. 在存儲結構上,如果用帶頭節(jié)點單鏈表實現(xiàn)隊列(假定front和rear分別為隊首和隊尾指針),則刪除一個結點的操作為(A)。A、front.next=front.next.next B、C、rear=front.nextD、9. 棧和隊列共同點是(C)A、先進后出B、先進先出C、允許在端點處進行操作線性表D、無共同

11、點10. 插入和刪除只能在一端進行的線性表是(B)A、循環(huán)隊列 B、棧C、隊列 D、循環(huán)棧11. 插入和刪除分別在兩端端進行的線性表是(C)A、循環(huán)隊列 B、棧C、隊列 D、循環(huán)棧12. 循環(huán)隊列為滿隊列的條件是:(B )A、Q.front=0 B、 Q.(C、 Q.rear=0 D、第四章 串1. 關于串的敘述,錯誤的是:(B)A串是字符有限序列 B空串是由空格構成的串C模式匹配是串的重要運算 D串有用順序、鏈式兩種存儲方式2. 串長度是指(B)A串所含不同字母數(shù)目 B串所含字符數(shù)目C串所含不同字符數(shù)目 D串所含非空格字符數(shù)目3. *若串S=”database”,其子串數(shù)目是(B)。A16

12、B37 C8 D364. 設串S1是串S子串,則求S1在S中定位運算稱為(B)A求子串 B串匹配 C聯(lián)接 D求串長5. 設有串s1=”welcome to zdsoft colleage!”和s2=”so”,那么s2在s1中的索引位置是(C)A12 B14 C13 D106. *若串S=“software“,其子串的數(shù)目是(B )。A8 B37 C36 D9第五章 數(shù)組和廣義表第六章 樹和二叉樹1. 假設在一棵二叉樹中,雙分支結點數(shù)為15,單分支結點數(shù)為30個,則葉子結點數(shù)為( B )個。A. 15B. 16C. 17D. 472. 假定一棵三叉樹的結點數(shù)為50,則它的最小高度為(C )。A.

13、 3 B. 4C. 5D. 63. 在一棵二叉樹上第4層的結點數(shù)最多為(D )。A. 2B. 4 C. 6D. 84. 用順序存儲的方法將完全二叉樹中的所有結點逐層存放在數(shù)組中R1.n,結點Ri若有左孩子,其左孩子的編號為結點(B )。A. R2i+1B. R2iC. Ri/2D. R2i-15. 設n , m 為一棵二叉樹上的兩個結點,在中序遍歷序列中n在m前的條件是(B )。A. n在m右方 B. n在m 左方C. n是m的祖先 D. n是m的子孫6. 下面敘述正確的是(D )。A. 二叉樹是特殊的樹B. 二叉樹等價于度為2的樹C. 完全二叉樹必為滿二叉樹D. 二叉樹的左右子樹有次序之分7

14、. 現(xiàn)有一深度為5的二叉樹,請問其最多有( D )個結點。A. 32B. 5 C.30D. 318. 現(xiàn)有一深度為4的二叉樹,請問其最多有( A )個結點。9. 在一棵二叉排序樹上按( B )遍歷得到的結點序列是一個有序序列。A. 先序B. 中序C.后序 D.頭序10. 在一棵二叉樹中,度為0的結點數(shù)為n0,度為2的結點數(shù)為n2,則n0=( C )2n+111. 由三個結點構成的二叉樹,共有(B )種不同的形態(tài)。12. 一棵含有n個結點的樹,( A )形態(tài)達到最大深度。A. 單支樹B. 二叉樹C.三叉樹叉樹13. 不含任何結點的空樹( C )。 .是一棵樹;  &

15、#160;                      .是一棵二叉樹;   .是一棵樹也是一棵二叉樹;           .既不是樹也不是二叉樹14. 二叉樹是非線性數(shù)據結構,所以(    C

16、60;    ) 。 .它不能用順序存儲結構存儲;           .它不能用鏈式存儲結構存儲;    .順序存儲結構和鏈式存儲結構都能存儲;  .順序存儲結構和鏈式存儲結構都不能使用 15. 具有n(n>0)個結點的完全二叉樹的深度為(C )。 .log2(n)ù   . log2(n)

17、û   . log2(n)  +1     .log2(n)+1ù 16. 在一棵三元樹中度為3的結點數(shù)為2個,度為2的結點數(shù)為1個,度為1的結點數(shù)為2個,則度為0的結點數(shù)為(D )個。 17. 有關二叉樹下列說法正確的是(B ) A二叉樹的度為2                

18、   B一棵二叉樹的度可以小于2                           C二叉樹中至少有一個結點的度為2D二叉樹中任何一個結點的度都為218. 在完全二叉樹中,若一個結點是葉結點,則它沒(C )。 A左子結點    B右子結點

19、   C左子結點和右子結點D左子結點,右子結點和兄弟結點19. 在下列情況中,可稱為二叉樹的是(B  )  A每個結點至多有兩棵子樹的樹B. 哈夫曼樹   C每個結點至多有兩棵子樹的有序樹D. 每個結點只有一棵右子樹      第七章 圖1. 圖的深度優(yōu)先遍歷類似于二叉樹的( A )。A先序遍歷 B中序遍歷 C后序遍歷D層次遍歷2. 已知一個圖如圖所示,若從頂點a出發(fā)按深度優(yōu)先遍歷,則可能得到的一種頂點序列為(C )

20、AabecdfBacfebdCaebcfdDaedfcb3. 若從無向圖的任意一個頂點出發(fā)進行一次深度優(yōu)先搜索可以訪問圖中所有的頂點,則該圖一定是( B )圖。A非連通 B連通 C強連通D有向4. 在一個圖中,所有頂點的度數(shù)之和等于所有邊數(shù)的( C )倍。A 1/2 B 1 C 2 D 35. 在一個有向圖中,所有頂點的入度之和等于所有頂點出度之和的( B )倍。A 1/2 B 1 C 2 D 36. 一個有N個頂點的有向圖最多有( B )條邊。A N B N(N-1) C N(n-1)/2 D 2N7. 具有4個頂點的無向完全圖有( A )條邊。A 6 B 12 C 18 D 208. 具有

21、6個頂點的無向圖至少有( A )條邊才能確保是一個連通圖。A 5 B 6 C 7 D 89. 對于一個具有N個頂點的無向圖,若采用鄰接矩陣表示,則該矩陣大小是(D )A N B (N-1)2 C N-1 D N*N10. 一個具有N個頂點的無向圖中,要連通全部頂點至少要( C )條邊A N B N+1 C N-1 D N/211. *已知圖的鄰接矩陣如圖所示,則從頂點0出發(fā)按深度優(yōu)先遍歷的結果是( C )。A0 2 4 3 1 5 6B0 1 3 6 5 4 2C0 1 3 4 2 5 6D0 3 6 1 5 4 212. 已知圖的鄰接表下圖所示,則從頂點0出發(fā)按廣度優(yōu)先遍歷的結果是( ),按

22、深度優(yōu)先遍歷的結果是( D )。A0 1 3 2 B0 2 3 1C0 3 2 1 D0 1 2 313. 已知圖的鄰接表下圖所示,則從頂點0出發(fā)按廣度優(yōu)先遍歷的結果是( ),按深度優(yōu)先遍歷的結果是( )。A0 1 3 2 B0 2 3 1 C0 3 2 1 D0 1 2 314. 當在一個有序的順序表上查找一個數(shù)據時,既可用折半查找,也可用順序查找,但前者比后者的查找速度( C )。A必定快 B不一定C在大部分情況下要快 D取決于表遞增還是遞減15. 折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,則它將依次與表中( A )比較大小,查找結果是

23、失敗。A20,70,30,50 B30,88,70,50 C20,50 D30,88,50第八章 查找1. 順序查找法適合于存儲結構為(B )的線性表。A散列存儲 B順序存儲或鏈式存儲 C壓縮存儲 D索引存儲2. 在查找過程中,若同時還要增、刪工作,這種查找稱為( B )。A、 靜態(tài)查找 B、 動態(tài)查找 C、 內查找 D、 外查找3. 索引順序表的特點是順序表中的數(shù)據( A )。A、 有序 B、 無序 C、 塊間有序 D、 散列4. 采用順序查找方法查找長度為n的線性表時,每個元素的平均查找長度為(C)A、 nB、n/2C、(n+1)/2D、(n-1)/25. *將10個元素散列到100000

24、0個單元的哈希表,則( C )產生沖突。A、 一定會 B、一定不會 C、仍可能會 D、以上都不對6. *散列表的地址區(qū)間為016,散列函數(shù)H(k)=k%17,采用線性探測法解決地址沖突,將關鍵字26、25、72、38、1、18、59依次存儲到散列表中。元素59存放在散列表中的地址為( A )A、 8 B、 9 C、 10D、 117. 設有序表的關鍵字序列為1,3,9,12,32,41,45,62,75,77,82,95,100,當采用二分查找法查找值為82的節(jié)點時,經( C )次比較后查找成功。A、 1B、 2 C、 3D、 48. 設有100個元素,用折半查找法進行查找時,最大、最小比較次

25、數(shù)分別時( A )A、 7,1B、6,1C、5,1D、8,1第九章 排序1. 對n個不同的記錄按排序碼值從小到大次序重新排列,用冒泡(起泡)排序方法,初始序列在 (A) 情況下,與排序碼值總比較次數(shù)最少。A按排序碼值從小到大排列 B按排序碼值從大到小排列C隨機排列(完全無序) D基本按排序碼值升序排列2. 對n個不同的記錄按排序碼值從小到大次序重新排列,用冒泡(起泡)排序方法,在 (B) 情況下,與排序碼值總比較次數(shù)最多。A按排序碼值從小到大排列 B按排序碼值從大到小排列C隨機排列(完全無序) D基本按排序碼值升序排列3. 對n個不同的記錄按排序碼值從小到大次序重新排列,用直接插入排序方法,初

26、始序列在 (A) 情況下,與排序碼值總比較次數(shù)最少。A按排序碼值從小到大排列 B按排序碼值從大到小排列C隨機排列(完全無序) D基本按排序碼值升序排列4. 對n個不同的記錄按排序碼值從小到大次序重新排列,用直接插入排序方法,初始序列在 (B) 情況下,與排序碼值總比較次數(shù)最多。A按排序碼值從小到大排列 B按排序碼值從大到小排列C隨機排列(完全無序) D基本按排序碼值升序排列5. 對n個不同的記錄按排序碼值從小到大次序重新排列,用快速排序方法在 (C) 情況下,與排序碼值總比較次數(shù)最少。A按排序碼值從小到大排列 B按排序碼值從大到小排列C隨機排列(完全無序) D基本按排序碼值升序排列6. 對n個

27、不同的記錄按排序碼值從小到大次序重新排列,用快速排序方法,在 (A) 情況下與排序碼值總比較次數(shù)最多。A按排序碼值從小到大排列 B按排序碼值從大到小排列C隨機排列(完全無序) D基本按排序碼值升序排列7. 用冒泡排序方法對n個記錄按排序碼值從小到大排序時,當初始序列是按排序碼值從大到小排列時,與碼值總比較次數(shù)是 (D) 。An-1 Bn Cn+1 Dn(n-1)28. 下列排序方法中,與排序碼值總比較次數(shù)與待排序記錄的初始序列排列狀態(tài)無關的是 (D) 。A直接插入排序 B冒泡排序 C快速排序 D直接選擇排序9. 將6個不同的整數(shù)進行排序,至少需要比較 (A) 次。A5 B6 C15 D2110

28、. 將6個不同的整數(shù)進行排序,至多需要比較 (C) 次。A5 B6 C15 D2111. *若需要時間復雜度在O(nlog2n)內,對整數(shù)數(shù)組進行排序,且要求排序方法是穩(wěn)定的,則可選擇的排序方法是 (B) 。A快速排序 B歸并排序 C堆排序 D直接插入排序12. 當待排序的整數(shù)是有序序列時,采用 (B) 方法比較好,其時間復雜度為O(n)。A快速排序 B冒泡排序 C歸并排序 D直接選擇排序13. 當待排序的整數(shù)是有序序列時,采用 (A)方法比較差,達到最壞情況下時間復雜度為O(n2)。A快速排序 B冒泡排序 C歸并排序 D直接選擇排序14. 當待排序的整數(shù)是有序序列時,無論待排序序列排列是否有

29、序,采用 (D)方法的時間復雜度都是O(n2)。A快速排序 B冒泡排序 C歸并排序 D直接選擇排序15. *堆是一種 (B) 排序。A插入 B選擇 C交換 D歸并16. *若一組記錄的排序碼值序列為40,80,50,30,60,70,利用堆排序方法進行排序,初建的大頂堆是 (D) 。A80,40,50,30,60,70B80,70,60,50,40,30C80,70,50,40,30,60 D80,60,70,30,40,5017. 若一組記錄的排序碼值序列為50,80,30,40,70,60利用快速排序方法,以第一個記錄為基準,得到一趟快速排序的結果為(B) 。A30,40,50,60,70

30、,80B40,30,50,80,70,60 C50,30,40,70,60,80D40,50,30,70,60,8018. *下列幾種排序方法中要求輔助空間最大的是(C) 。A堆排序 B直接選擇排序 C歸并排序 D快速排序19. 已知Am中每個數(shù)組元素距其最終位置不遠,采用下列 (A) 排序方法最節(jié)省時間。A直接插入 B堆 C快速 D直接選擇20. *設有10000個互不相等的無序整數(shù),若僅要求找出其中前10個最大整數(shù),最好采用 (B) 排序方法。A歸并 B堆 C快速 D直接選擇21. *在下列排序方法中不需要對排序碼值進行比較就能進行排序的是 (A) 。A:基數(shù)排序 B快速排序 C直接插入排

31、序 D堆排序22. *給定排序碼值序列為F,B,J,C,E,A,I,D,C,H,對其按字母的字典序列的次序進行排列,希爾(Shell)排序的第一趟(d1=5)結果應為(D)。AB,F(xiàn),C,J,A,E,D,I,C,HBC,B,D,A,E,F(xiàn),I,C,J,HCB,F(xiàn),C,E,A,I,D,C,H,JDA,B,D,C,E,F(xiàn),I,J,C,H23. 給定排序碼值序列為F,B,J,C,E,A,I,D,C,H,對其按字母的字典序列的次序進行排列,冒泡排序(大數(shù)下沉)的第一趟排序結果應為(C)。AB,F(xiàn),C,J,A,E,D,I,C,HBC,B,D,A,E,F(xiàn),I,C,J,HCB,F(xiàn),C,E,A,I,D,C,H

32、,JDA,B,D,C,E,F(xiàn),I,J,C,H24. 給定排序碼值序列為F,B,J,C,E,A,I,D,C,H,對其按字母的字典序列的次序進行排列,快速排序的第一趟排序結果為(B)。AB,F(xiàn),C,J,A,E,D,I,C,HBC,B,D,A,E,F(xiàn),I,C,J,HCB,F(xiàn),C,E,A,I,D,C,H,JDA,B,D,C,E,F(xiàn),I,J,C,H25. *給定排序碼值序列為F,B,J,C,E,A,I,D,C,H,對其按字母的字典序列的次序進行排列,二路歸并排序的第一趟排序結果是(A)。AB,F(xiàn),C,J,A,E,D,I,C,HBC,B,D,A,E,F(xiàn),I,C,J,HCB,F(xiàn),C,E,A,I,D,C,H,

33、JDA,B,D,C,E,F(xiàn),I,J,C,H簡答題第一章緒論1. 請分別給出數(shù)據、數(shù)據對象、數(shù)據元素、數(shù)據項的含義,并說明四者的關系。數(shù)據(Data):是對信息的一種符號表示。在計算機科學中是指所有能輸入到計算機中并能被計算機程序處理的符號的總稱。(一個得分點)數(shù)據元素(Data Element):是數(shù)據的基本單位,在計算機程序中通常作為一個整體進行考慮和處理,相當于表中的一條記錄。(一個得分點)數(shù)據項:相當于記錄的“域”, 是數(shù)據的不可分割的最小單位,如學號(一個得分點)數(shù)據對象:性質相同的數(shù)據元素的集合,是數(shù)據的一個子集.例如: 同一個班的所有學生記錄集合。(一個得分點)關系:包含關系:數(shù)據

34、泛指所有。數(shù)據對象是數(shù)據的一個子集,由數(shù)據元素組成,數(shù)據元素是由數(shù)據項組成。(一個得分點)評分標準,總共5個得分點,每段話一個得分。2. 請給出數(shù)據的邏輯結構的含義,并舉例說明數(shù)據的邏輯結構通常有哪些。數(shù)據的邏輯結構:指數(shù)據元素之間的邏輯關系。即用自然語言描述數(shù)據,它與數(shù)據的存儲無關,是獨立于計算機的,邏輯結構有四種。(一個得分點)集合結構: 僅同屬一個集合(結構名字0.5個得分點、舉例0.5得分點)線性結構: 一對一(1:1) (結構名字0.5個得分點、舉例0.5得分點) 樹 結 構: 一對多(1:n)(結構名字0.5個得分點、舉例0.5得分點) 圖 結 構: 多對多 (m:n) (結構名字

35、0.5個得分點、舉例0.5得分點)評分標準:每段話一個得分點,總共5個得分點。什么是數(shù)據的物理結構?有哪些物理結構?數(shù)據的物理結構與邏輯結構有什么區(qū)別與聯(lián)系?數(shù)據的物理結構:物理結構亦稱存儲結構,是數(shù)據的邏輯結構在計算機存儲器內的表示(或映像)。它依賴于計算機。(一個得分點)存儲結構可分為4大類:順序、鏈式、索引、散列。(共2個得分點,一個0.5得分點)區(qū)別:數(shù)據的邏輯結構屬于用戶視圖,是面向問題的,數(shù)據的存儲結構屬于具體實現(xiàn)的視圖,是面向計算機的。(一個得分點)聯(lián)系:一種數(shù)據的邏輯結構可以用多種存儲結構來存儲,而采用不同的存儲結構其處理的效率往往不同。(一個得分點)評分標準:共5個得分點,按

36、照每段話各自標注的得分點進行評分。3. 求兩個正整數(shù) m,n 中的最大數(shù)MAX的算法(1)若 m > n 則 max=m (2)若 m <= n 則 max=n 請根據上述算法解釋一下算法的組成要素有哪些,分別是什么。算法由操作、控制結構、數(shù)據結構3要素組成操作包含:算術運算、關系比較、邏輯運算、數(shù)據傳送(輸入、輸出、賦值)(一個得分點)例子中有關系比較和賦值計算的操作。(一個得分點)控制結構包含:順序結構、選擇結構、循環(huán)結構(一個得分點)例子中有選擇結構(一個得分點)數(shù)據結構:算法操作的對象是數(shù)據,數(shù)據間的邏輯關系、數(shù)據的存儲方式及處理方式就是數(shù)據結構。(一個得分點)本例是數(shù)值問

37、題,涉及到兩個正整數(shù),因此使用基本的整數(shù)類型就可以解決問題。(一個得分點)評分標準:本題共6個得分點,每段話一個得分點。4. 簡述算法的基本性質1)輸入:0個或多個輸入2)輸出:1個或多個輸出3)有窮性:算法必須在有限步內結束4)確定性:組成算法的操作必須清晰無二義性5)可行性:組成算法的操作必須能夠在計算機上實現(xiàn)評分標準,本題共5個得分點,每個要點一分。5. 簡述算法的設計要求1、正確性(correctness)2、可讀性(readability)3、健壯性(robustness)4、通用性(generality)5、效率與存儲的要求(執(zhí)行算法所耗費的存儲空間、執(zhí)行算法所耗費的時間)評分標準

38、,本題共5個得分點,每個要點一分。6. 評價算法好壞的3條主要標準1)算法實現(xiàn)所耗費的時間。2)算法實現(xiàn)所耗費的存儲空間,其中主要考慮輔助存儲空間。3)算法應易于理解、易于編碼、易于調試等。評分標準,本題共3個得分點,每個要點一分。7. 請簡述數(shù)據結構所研究的三種基本結構,以及數(shù)據元素間的關系。線性結構:數(shù)據元素之間一對一的關系。(2分)樹形結構:數(shù)據元素之間一對多的關系。(1.5分)圖形結構:數(shù)據元素之間多對多的關系。(1.5分)8. 請問算法的分析和評價的兩個標準,以及各自作用。時間復雜度:評估算法運行所需時間。(1.5+1分)空間復雜度:評估算法運行時所需最大存儲空間。(1.5+1分)9

39、. 請說出三種邏輯數(shù)據結構,以及他們的特點。(5分)(1)線性結構:數(shù)據元素只有一個前驅數(shù)據元素和一個后繼數(shù)據元素。(2分)(2)樹結構:每個數(shù)據元素只有一個前驅數(shù)據元素,可有零個或若干個后繼數(shù)據元素。(1.5分)(3)圖結構:每個數(shù)據元素可有零個或若干個前驅數(shù)據元素,零個或若干個后繼數(shù)據元素。(1.5分)10. 評價算法的主要標準是什么?(1)算法實現(xiàn)所耗費的時間(2分)(2)算法實現(xiàn)所耗費的存儲空間,其中主要考慮輔助存儲空間。(2分)(3)算法應易于理解、易于編碼、易于調試。(1分)11. 請說出三種邏輯數(shù)據結構,并分別畫圖表示它們。(a, 2分,b,c各1.5分)12. 算法的基本性質有

40、哪些?并簡述每個特性。(5分)(1)有窮性. . . . . (1分)(2)確定性. . . . . (1分)(3)可行性. . . . . (1分)(4)輸入性. . . . . (1分)(5)輸出性. . . . . (1分)13. 通常從那幾個方面來評價算法的質量? (5分)通常從四個方面評價算法的質量:正確性、可讀性、健壯性和高效性。(少一個扣1分)14. 請描述線性數(shù)據結構的兩種存儲方式,并說出其各有什么特點。順序存儲:連續(xù)存儲,易于定位,不易于插入和刪除。分)鏈式存儲:非連續(xù)存儲,不易于定位,易于插入和刪除。分)15. 請問算法的分析和評價的兩種方法,它們關注點各有什么不同?(簡單

41、)空間效率:關注算法對內存的占用度。分)時間效率:關注算法的運算速度。分)第二章 線性表1. 請問如果要插入一個數(shù)據到一個線性表中,順序表和鏈表哪個的效率高?為什么?鏈表的效率高(2分),因為順序表要移動插入位置后的每一個元素的位置給新數(shù)據騰位置分)。鏈表只需要將前一個數(shù)據的指針指向新數(shù)據并將新數(shù)據的指針指向后一個數(shù)據即可分)。2. 線性表有哪些特點?1)除第一個和最后一個數(shù)據元素外,每個數(shù)據元素只有一個前驅數(shù)據元素和一個后繼數(shù)據元素;(2分)2)第一個數(shù)據元素沒有前驅數(shù)據元素;(1.5分)3)最后一個數(shù)據元素沒有后繼數(shù)據元素。(1.5分)3. 順序存儲結構的優(yōu)缺點有哪些? (中等)順序存儲結

42、構的優(yōu)點:(2.5分)存儲空間連續(xù)邏輯相鄰,物理相鄰可隨機存取任一元素缺點:(2.5分)插入、刪除操作需要移動大量的元素預先分配空間需按最大空間分配,利用不充分表容量難以擴充4. 單鏈式存儲結構的優(yōu)缺點有哪些? (中等)單鏈式存儲結構的優(yōu)點:(2.5分)不需預先分配空間,空間利用充分插入、刪除操作簡單, 無需移動大量的元素表容量易于擴充缺點:(2.5分)每個數(shù)據元素,除存儲本身信息外,還需空間存儲其直接后繼的信息邏輯相鄰,物理不一定相鄰不可隨機存取任一元素, 只能從鏈表頭依次查找.5. 有順序表A=(a0, a1, a2,.a8,a9,a19),要在a8,a9之間插入一個元素a20,請描述其操

43、作(思想)步驟。(中等)插入思想或步驟:根據順序表的存儲特點,要在表中某位置10插入一新數(shù)據元素,則要進行如下兩步操作: (1)、從位置10到表尾位置的所有數(shù)據元素均要從后至前依次向后移一個存儲位置,為新插入結點騰出第10個位置。(2分) (2)、將新結點插入到空余位置10處。2分)(3)表長度加1. (1分)6. 有順序表A=(a0, a1, a2,.a8,a9,a19),要刪除一個元素a9,請描述其操作(思想)步驟。(中等)(1)然后將從位置11到表尾的所有數(shù)據元素依次向前移一個存儲位置。(3分)(2)表長度減1. (2分)7. 請描述在順序表中第i個位置插入新的數(shù)據x操作過程。根據順序表

44、的存儲特點,要在表中某位置i插入一新數(shù)據元素,則要進行如下兩步操作:(1)從位置i到表尾位置的所有數(shù)據元素均要從后至前依次向后移一個存儲位置,為新插入結點騰出第i個位置;(2分)(2)將新數(shù)據x插入到空余位置i處。(2分)(3)表長度加1. (1分)8. 請描述在順序表中刪除第i個位置的數(shù)據的過程。(1)然后將從位置i到表尾的所有數(shù)據元素依次向前移一個存儲位置。(3分)(2)表長度減1. (2分)9. 請描述在一個單鏈表中插入一個數(shù)據q的插入過程。(1) 找到將插入數(shù)據位置的前一個結點p; (1分)(2) q的next值等于p的next值;(2分)(3)p的next值等于q;(2分)10. 請

45、描述從一個單鏈表中刪除一個數(shù)據的刪除過程。(1)找到將被刪除數(shù)據的前一個結點p; (2分)(2)p的next指針指向被刪除數(shù)據的后一個結點;(2分)(3)將被刪除數(shù)據原來的next指針指向null; (1分)第三章 棧和隊列1. 請簡述線性表、棧和隊列三者之間的聯(lián)系。(簡單)(1)線性表、棧和隊列都屬于線性結構。(2分)(2)棧和隊列都是特殊的線性表,并且都有順序存儲、鏈式存儲兩種存儲方式。(1分)(3)棧是一種先進后出的線性表,隊列是一種先進先出的線性表(2分)2. 在計算機進行運算時,需要把十進制轉換為二進制。請問答:這種數(shù)制轉換可以借助于哪種數(shù)據結構實現(xiàn)、及原因。答:棧。(2分)原因:(

46、3分)在進行數(shù)值轉換時,其實質是求余的過程,并且余數(shù)的倒序序列正是所求結果。棧是一種先進后出的線性結構,能夠滿足這種操作。3. 有一字符序列abcde依次按照某一線性結構存儲,請回答以下問題:(1)、如果該線性結構是隊列,那么,寫出出隊序列。(2)、如果該線性結構是棧,那么,輸出序列可能是d,c,e,a,b嗎,為什么?(3)、如果該線性結構是棧,且輸出序列是abcde。請寫出操作過程。(push (x):表示把x壓入棧內;pop (x):表示把x彈出棧)答:(1)、abcde(1分)(2)、不可能,因為:d是第一出棧字符,說明a,b已別壓入棧內;并且壓入棧的次序為abcde;由以上得出:ab出

47、棧的順序只能是b、a,而不是a、b。所以,出棧序列d,c,e,a,b是不可能的。(2分)(3)、(2分)push (a),pop (a)push (b),pop (b)push (c),pop (c)push (d),pop (d)push (e),pop (e)4. 簡述棧和隊列的異同點。相同點:棧和隊列都是只允許在表的端點處進行插入、刪除操作的線性表。(2分)不同點:棧的特點是先進后出,隊列的特點是后進先出。(3分)5. 若依次讀入數(shù)據元素序列1、2、3,進棧的過程中允許出棧,試寫出各種可能的出棧序列。答:123、132、213、231、321(各1分)6. 如果入棧序列有組成, 請問輸出

48、序列可能有哪些? (較難)輸出序列有5種:C B A, B C A, B A C, A C B , A B C(各1分)7. 如果有abcde五個數(shù)據依次全部存入,如果采用隊列和棧來進行存儲,依次取出分別將獲得什么內容。(簡單)隊列:abcde (2.5分)棧: edcba (2.5分)8. 設將整數(shù) 1,2,3,4依次進棧,能否得到1423出棧序列和1432?并說明為什么不能得到或者如何得到。(中等)不能得到1423,但可以得到1432(2分)因為要得到4必須將所有數(shù)據入棧,這樣將只能依次獲取到1432不能獲得1423。采用push、pop、push、push、push、pop、pop、po

49、p可以獲得1432。(3分)9. 循環(huán)隊列的優(yōu)點是什么?如何判斷它的空和滿?(可不考)循環(huán)隊列的優(yōu)點是可以克服順序隊列的"假上溢"現(xiàn)象,能夠使存儲隊列的向量空間得到充分的利用。(3分)采用犧牲一個元素空間的方法,循環(huán)隊列隊空的條件是front=rear,循環(huán)隊列隊滿的條件是:(rear+1)%M=front。(2分)第四章 串1. 對于字符串S=abcde,請問:(簡單)(1)字符串S的長度是多少?(2)字符串S的子串有幾個,并列出所有子串?答:(1)、5 (1分)(2)、16,(1分)所有字串:a、b、c、d、e、 ab、 bc、 cd 、de、abc、 bcd、 cde

50、、 abcd、 bcde、 abcde、。(3分)2. 對于字符串S=12345,請問:(簡單)(1)字符串S的長度是多少?(2)字符串S的子串有幾個,并列出所有子串?答:(1)、5 (1分)(2)、16,(1分)所有字串:1、2、3、4、5、 12、 23、 34 、45、123、 234、 345、 1234、 2345、 12345、。(3分)3. 請問答:什么串的模式匹配?模式匹配算法有幾種?(簡單)答:串的模式匹配是指子串的定位運算,即在主串中查找子串第一次出現(xiàn)的位置。 模式匹配算法有兩種:簡單匹配算法(Brute-Force)、KMP算法。(該題共4個得分點,答對串匹配定義或大意基

51、本相同,得 2 分;答對兩種匹配算,得 2 分,答錯或少答一個 扣 1分)第五章 數(shù)組和廣義表1. 在數(shù)據結構中,數(shù)組是最基本的結構,請完成以下要求:(1)、定義一個能容納5個整型元素的數(shù)組iAry,且元素的值為10、20、30、40、50 。(2)、*畫出數(shù)組iAry的順序存儲結構。(規(guī)定:整型長度為兩個字節(jié))(1)、int iAry5= 10、20、30、40、50 (2 分)(2)、如下圖:(3分,根據情況,酌情扣分)2. 簡述數(shù)組的定義、特點和分類。(簡單)定義:數(shù)組是n個相同數(shù)據類型的數(shù)據元素a0,a1,a2,.,an-1構成的有限集合。(1個得分點)特點:1)數(shù)組中各元素具有統(tǒng)一的

52、類型;(1個得分點)2)數(shù)組元素的下標一般具有固定的上界和下界,即數(shù)組一旦被定義,它的維數(shù)和維界就不再改變。(1個得分點)3數(shù)組的基本操作比較簡單,除了結構的初始化和銷毀之外,只有存取元素和修改元素值的操作。(1個得分點)分類:按維度可分為一維數(shù)組、二維數(shù)組、多維數(shù)組(1個得分點)3. 已知一個二維數(shù)組A如下所示。(較難)(1)請按照行優(yōu)先、列優(yōu)先的方式進行順序存儲,給出順序存儲的序列(2個得分點)行優(yōu)先:a11a12a13a21a22a23列優(yōu)先:a11a21a12a22a13a23(2)若a11在內存中存儲的地址為,每個元素的存儲空間大小為L,則按照行優(yōu)先的方式和列優(yōu)先的方式分別存儲,其中

53、a22的地址loc(a22)分別為多少(2個得分點)行優(yōu)先:loc(a22)=+4L列優(yōu)先:loc(a22)=+3L(3)對于數(shù)組,除了順序存儲外,還有沒有其他存儲方式?沒有填無,若有,請說明。有,鏈式存儲,如下圖所示(1個得分點)第六章 樹和二叉樹1. 有一樹,如下圖所示: (簡單)請回答以下問題:(1)樹的葉子結點及其度。(2)非終端結點及其度。(3)樹的深度。答: (1)、葉子結點有:D 、E、F、G,它們的度都為零。(2分)(2)、非終端結點有:A 度為3,B 度為2,C 度為1。(2分)(3)、樹的深度為3。(1分)2. 請回答:樹與二叉樹有什么區(qū)別?(中等)答:區(qū)別有兩點:(1)二叉樹的一個結點至多有兩個子樹,樹則不然。(2.5分)(2)二叉樹一個結點的子樹有左右之分,而樹的子樹沒有次序。(2.5分)3. 有一棵具有n個結點的滿二叉樹。請問:該滿二叉樹的葉子結點數(shù)目是多少,并寫出分析推理過程。(中等)答:(n+1)/2。(2分)分析過程:滿二叉樹中只有度為2和度為0的結點,故設葉子結點數(shù)目為:n

溫馨提示

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

評論

0/150

提交評論