《數(shù)據(jù)結構》期末考試試題及答案_第1頁
《數(shù)據(jù)結構》期末考試試題及答案_第2頁
《數(shù)據(jù)結構》期末考試試題及答案_第3頁
《數(shù)據(jù)結構》期末考試試題及答案_第4頁
《數(shù)據(jù)結構》期末考試試題及答案_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.數(shù)據(jù)結構期末考試試題及答案(2003-2004學年第2學期)單項選擇題1、C 2、D 3、A 4、D 5、C 6、D 7、A 8、B 9、C 10、C 一、1對于一個算法,當輸入非法數(shù)據(jù)時,也要能作出相應的處理,這種要求稱為( c)。 (A)、正確性 (B). 可行性 (C). 健壯性 (D). 輸入性2設S為C語言的語句,計算機執(zhí)行下面算法時,算法的時間復雜度為( d )。for(i=n-1;i=0;i-) for(j=0;jnext; p-next= Q.front-next; (B)、p=Q.front-next; Q.front-next=p-next; (C)、p=Q.rear-n

2、ext; p-next= Q.rear-next; (D)、p=Q-next; Q-next=p-next;9 Huffman樹的帶權路徑長度WPL等于( c )(A)、除根結點之外的所有結點權值之和 (B)、所有結點權值之和(C)、各葉子結點的帶權路徑長度之和 (D)、根結點的值10線索二叉鏈表是利用( c )域存儲后繼結點的地址。 (A)、lchild (B)、data (C)、rchild (D)、root二、填空題1 邏輯結構決定了算法的 設計 ,而存儲結構決定了算法的 實現(xiàn) 。2 棧和隊列都是一種 特殊 的線性表,棧的插入和刪除只能在 棧頂 進行。3 線性表(a1,a2,an)的順序

3、存儲結構中,設每個單元的長度為L,元素ai的存儲地址LOC(ai)為 4 已知一雙向鏈表如下(指針域名為next和prior): y x e q p現(xiàn)將p所指的結點插入到x和y結點之間,其操作步驟為: ; ; ; ;5n個結點無向完全圖的的邊數(shù)為 , n個結點的生成樹的邊數(shù)為 。6已知一有向無環(huán)圖如下: BACDFEG 任意寫出二種拓撲排序序列: 、 。7已知二叉樹的中序遍歷序列為BCA,后序遍歷序列為CBA,則該二叉樹的先序遍歷序列為 ,層序遍歷序列為 。三、應用題1 設散列函數(shù)H(k)=k % 13,設關鍵字系列為22,12,24,6,45,7,8,13,21,要求用線性探測法處理沖突。(

4、6分)(1) 構造HASH表。(2) 分別求查找成功和不成功時的平均查找長度。2 給定表(19,14,22,15,20,21,56,10).(8分)(1) 按元素在表中的次序,建立一棵二叉排序樹(2) 對(1)中所建立的二叉排序樹進行中序遍歷,寫出遍歷序列。(3) 畫出對(2)中的遍歷序列進行折半查找過程的判定樹。3 已知二個稀疏矩陣A和B的壓縮存儲三元組表如下: A BijVijV13-525224633725241342-152-9529558寫出A-B壓縮存儲的三元組表。(5分)4 已知一維數(shù)組中的數(shù)據(jù)為(18,12,25,53,18), 試寫出插入排序(升序)過程。并指出具有n個元素的

5、插入排序的時間復雜度是多少?(5分)5 已知一網絡的鄰接矩陣如下,求從頂點A開始的最小生成樹。(8分,要有過程) A B C D E F(1)求從頂點A開始的最小生成樹。(2)分別畫出以A為起點的DFS生成樹和BFS生成樹。6已知數(shù)據(jù)六個字母及在通信中出現(xiàn)頻率如下表:ABCDEF0.150.150.10.10.20.3把這些字母和頻率作為葉子結點及權值,完成如下工作(7分,要有過程)。(1) 畫出對應的Huffman樹。(2) 計算帶權路徑長度WPL。(3) 求A、B、C、D、E、F的Huffman編碼。7 已知有如下的有向網: 2 5 36 4 10 6 1 2 2 AEBDC求頂點A到其它

6、各頂點的最短路徑(采用Dijkstra算法,要有過程)。(6分)三、 設計題(30分,每題10分,用C語言寫出算法,做在答題紙上)1 已知線性表(a1,a2,an)以順序存儲結構為存儲結構,其類型定義如下: #define LIST_INIT_SIZE 100 /順序表初始分配容量 typedef struct Elemtype *elem; /順序存儲空間基址 int length; /當前長度(存儲元素個數(shù)) SqList;設計一個算法,刪除其元素值為x的結點(假若x是唯一的)。并求出其算法的平均時間復雜度。其算法函數(shù)頭部如下: Status ListDelete(Sqlist &L,El

7、emtype x) ana2a12設順序棧如左圖所示。 其中結點定義如下: top typedef struct Elemtype *base; /棧底指針Elemtype *top; /棧頂指針 Stack;設計算法,將棧頂元素出棧并存入e中 base3設二叉鏈樹的類型定義如下: typedef int Elemtype; typedef struct node Elemtype data; struct node *lchild, *rchild; BinNode, *BinTree;試寫出求該二叉樹葉子結點數(shù)的算法: Status CountLeaves(BinTree &root,in

8、t &n) /n is the number of leaves 答案:選擇題(每題1分)1、C 2、D 3、A 4、D 5、C 6、D 7、A 8、B 9、C 10、C 一、 填空題1 設計、實現(xiàn)2 特殊、棧頂3 LOC(a1)+(i-1)*L4 p-next=q-next;q-next-prior=p; q-next=p;p-prior=q;5 n(n-1)/2、n-16 ADCBFEG、ABCDEFFG7 ABC、ABC二、 應用題1 (1)Hash表(4分)地址01112關鍵安2412探測次數(shù)171231311(2)查找成功的平均查找長度:(1分) (5*1+1*2+2*3+1*7)/

9、9=20/9查找不成功的平均查找長度:(1分) (2+1+9+8+7+6+5+4+3+2+1)/13=2(1)、構造(3分) 19 14 22 10 15 20 56 21(2)、10 14 15 19 20 21 22 56(2分)(3)、(3分)3、(5分,每行0.5)ijv13-524633741342-152185584、 初始關鍵字: 18 12 25 53 18 第 一 趟:12 18 25 53 18第 二 趟:12 18 25 53 18第 三 趟:12 18 25 53 18第 四 趟:12 18 18 25 53 (4分) O(n2)(1分)。5、7分(1)4分A B 1

10、C 3 2 5 D 4 E F(2)4分6、(1) 3分 E F A B C D (2)WPL=0.1*3+0.1*3+0.2*2+0.15*3+0.15*3+03*21= (1分)(3)A:010 B:011 C:110 D:111 E:00 F;10 (3分)12、A-B:(A、B) 1分A-C:(A、D、C) 2分A-D:(A、D) 1分 A-E:(A、D、E) 2分 三,設計題(20分)1、(10分)Status ListDelete(Sqlist &L,ElemType x) int i,j; for(i=0;ilength;i+)if(L-elemi=x) break; if(i=

11、L-length) return ERROR; for(j=i;jlengthi-1;j+) L-elemj=L-elemj+1; L-length-; (8分)平均時間復雜度:(2分)設元素個數(shù)記為n,則平均時間復雜度為:2(10分)void pop(Stack &S,Elemtype &e) if(S.top=S.base) return ERROR; S.top-; e=*s.top;2、(10分)voidCountLeaves(BinTree T,int &n)if(T)if(!(T-lchild)&!( T-rchild) n+; CountLeaves (T-lchild,n);

12、CountLeaves (T-rchild,n);人生中每一次對自己心靈的釋惑,都是一種修行,都是一種成長。相信生命中的每一次磨礪,都會讓自己的人生折射出異常的光芒,都會讓自己的身心煥發(fā)出不一樣的香味。我們常常用人生中的一些痛,換得人生的一份成熟與成長,用一些不可避免的遺憾,換取生命的一份美麗。在大風大雨,大風大浪,大悲大喜之后,沉淀出一份人生的淡然與淡泊,靜好與安寧,深邃與寬厚,慈悲與欣然生活里的每個人,都是我們的一面鏡子,你給別人什么,別人就會回待你什么。當你為一件事情不悅的時候,應該想想你給過人家怎樣負面的情緒。世界上的幸福,沒有一處不是來自用心經營和珍惜。當你一味的去挑剔指責別人的時候

13、,有沒有反思過自己是否做得盡善盡美呢?假如你的心太過自我,不懂得經營和善待,不懂得尊重他人的感受,那么你永遠也不會獲得真正的愛和幸福人生就像一場旅行,我們所行走的每一步都是在豐富生命的意義。我們一邊穿越在陌生的吸引里,一邊咀嚼回味著一抹遠走光陰的舊味,一切都是不可預料,一切又似在預料之中。人生看的多了,走的多了,經歷的多了,也就懂得多了。每一份深刻的感悟大多來自一個人深刻的經歷。人生總有那么一兩件重大的事情讓你成熟和改變。這份錯失,會讓你反思自己,檢討自己,叩問自己,也讓你意識到了自己真正的缺失,這或許就是一份痛苦的領悟吧!人生可以平平淡淡,亦可以異彩紛呈。相信只要自己的德馨足夠善美,上天就會

14、把最好的一切賜予你。予人快樂,收獲快樂;予人幸福,收獲幸福;予人真情,收獲厚意。人生的一切往來皆有因果,生活只善待有心人假如你有一顆計較的心,你就會很難獲得一份幸福。當一個人放下了自己內心的那份累心的奢求,你的心空就會變得更加蔚藍干凈。寬容,不僅是一種豁達的態(tài)度,更是一種心靈的品德,是一種處事的修行,寬容別人不是低矮了自己,而是釋放了自己,升華了自己。你把世界寬待在心中,世界也同樣裝飾了你的一份美麗。當你簡約、釋然了自己的時候,你會發(fā)現(xiàn)另一份生命中的快樂。那快樂是發(fā)自一顆簡單的心,那快樂是從心靈的草地里歡快的迸發(fā)出來,通過你溫柔的眼眸和開心的笑聲來傳遞。所以,心寬便心悅,你人生的天空是什么顏色,往往取決于你對人生的態(tài)度和對于自己情緒的駕馭世界上美好的東西那么多,有緣來到你的身旁,被你握到掌心的卻又那么少。所以一切在的時候請學會珍惜,因為大多美麗的東西只會為你來過一次。你一不小心就會失落,無處找尋,增加了你人生的又一次遺憾過往,終是回不去的曾經。人總是在失去的時候才懂得珍惜,人總是在回味的時候才知道甜美。往事已矣,該放下的終歸要放下,該忘記的一定要學會忘記。其實這個世界上

溫馨提示

  • 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

提交評論