數(shù)據(jù)結(jié)構(gòu)課后答案老師給的_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課后答案老師給的_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課后答案老師給的_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課后答案老師給的_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課后答案老師給的_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第一章 習(xí)題答案2、××3、(1)包含改變量定義的最小范圍 (2)數(shù)據(jù)抽象、信息隱蔽 (3)數(shù)據(jù)對(duì)象、對(duì)象間的關(guān)系、一組處理數(shù)據(jù)的操作 (4)指針類型 (5)集合結(jié)構(gòu)、線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖狀結(jié)構(gòu) (6)順序存儲(chǔ)、非順序存儲(chǔ) (7)一對(duì)一、一對(duì)多、多對(duì)多 (8)一系列的操作 (9)有限性、輸入、可行性4、(1)A(2)C(3)C5、語句頻度為1+(1+2)+(1+2+3)+(1+2+3+n)第二章 習(xí)題答案1、(1)一半,插入、刪除的位置 (2)順序和鏈?zhǔn)?,顯示,隱式 (3)一定,不一定 (4)頭指針,頭結(jié)點(diǎn)的指針域,其前驅(qū)的指針域2、(1)A(2)A:E、A B:H、L、

2、I、E、A C:F、M D:L、J、A、G或J、A、G (3)D(4)D(5)C(6)A、C3、頭指針:指向整個(gè)鏈表首地址的指針,標(biāo)示著整個(gè)單鏈表的開始。 頭結(jié)點(diǎn):為了操作方便,可以在單鏈表的第一個(gè)結(jié)點(diǎn)之前附設(shè)一個(gè)結(jié)點(diǎn),該結(jié)點(diǎn)的數(shù)據(jù)域可以存儲(chǔ)一些關(guān)于線性表長(zhǎng)度的附加信息,也可以什么都不存。 首元素結(jié)點(diǎn):線性表中的第一個(gè)結(jié)點(diǎn)成為首元素結(jié)點(diǎn)。4、已知順序表L遞增有序,寫算法將X插入到線性表的適當(dāng)位置上,以保持線性表的有序性 int Linser(SeqList *L,int X) int i=0,k; if(L->last>=MAXSIZE-1) printf(“表已滿無法插入”);

3、return(0); while(i<=L->last&&L->elemi<X) i+; for(k=L->last;k>=I;k-) L->elemk+1=L->elemk; L->elemi=X; L->last+; return(1); 5、寫一算法,從順序表中刪除自第i個(gè)元素開始的k個(gè)元素#define OK 1#define ERROR 0Int LDel(Seqlist *L,int i,int k) int j; if(i<1|(i+k)>(L->last+2) printf(“輸入的i

4、,k值不合法”); return ERROR; if(i+k)=(L->last+2) L->last=i-2; ruturn OK; elsefor(j=i+k-1;j<=L->last;j+) elemj-k=elemj; L->last=L->last-k;return OK;6、算法如下:#define OK 1#define ERROR 0Int Delet(LInkList L,int mink,int maxk) Node *p,*r; p=L; while(p->next!=NULL) p=p->next; if(mink<

5、maxk|(L->next->data>=mink)|(p->data<=maxk) printf(“參數(shù)不合法”); return ERROR; else p=L; while(p->next-data<=mink) p=p->next; while(r->data<maxk) p->next=r->next; free(r); r=p->next; return OK; 9、假設(shè)有一個(gè)循環(huán)鏈表的長(zhǎng)度大于1,且表中既無頭結(jié)點(diǎn)也無頭指針。已知s為指向鏈表摸個(gè)結(jié)點(diǎn)的指針,編寫算法在鏈表中刪除指針s所在結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn)in

6、t Dele(Node *S) Node *p;P=s->next; If(p= =s) printf(“只有一個(gè)結(jié)點(diǎn),不刪除”); return 0; elseif(p->next= =s) s->next=s;free(p);return 1; Else while(p->next->next!=s) P=p->next; P->next=s; Free(p);return 1; 第三章 習(xí)題答案2、(1)3、棧有順序棧和鏈棧兩種存儲(chǔ)結(jié)構(gòu)。 在順序棧中,棧頂指針top=-1時(shí),棧為空;棧頂指針top=Stacksize-1時(shí),棧為滿。 在帶頭結(jié)點(diǎn)鏈

7、棧中,棧頂指針top-next=NULL,則代表?xiàng)??;只要系統(tǒng)有可用空間,鏈棧就不會(huì)出現(xiàn)溢出,既沒有棧滿。5、#include<seqstack1.h>#include "stdio.h"void main( ) char ch,temp; SeqStack s; InitStack(&s); scanf("%c",&ch); while(ch!=''&&ch!='&') Push(&s,ch); scanf("%c",&ch); wh

8、ile(ch!=''&&!IsEmpty(&s) Pop(&s,&temp); scanf("%c",&ch); if(ch!=temp) break; if(!IsEmpty(&s) printf("no!n"); else scanf("%c",&ch); if(ch='') printf("yes!n"); else printf("no!n"); 12、(1)功能:將棧中元素倒置。 (2)功能

9、:刪除棧中的e元素。 (3)功能:將隊(duì)列中的元素倒置。 第四章習(xí)題答案1、StrLength(s)操作結(jié)果為14;SubString(sub1,s,1,7)操作結(jié)果為sub1=I AM A ; SubString(sub2,s,7,1)操作結(jié)果為sub2= ;StrIndex(s,A,4) 操作結(jié)果為5; StrReplace(s,STUDENT,q) 操作結(jié)果為I AM A WORKER; StrCat(StrCat(sub1,t), StrCat(sub2,q) 操作結(jié)果為I AM A GOOD WORKER;2、int StrReplace(SString S,Sstring T,SSt

10、ring V) int i=1; /從串S的第一個(gè)字符起查找串T if(StrEmpty(T) /T是空串 return ERROR; do i=Index(S,T,i); /結(jié)果i為從上一個(gè)i之后找到的子串T的位置 if(i) /串S中存在串T StrDelete(S,i,StrLength(T); /刪除該串T StrInsert(S,i,V); /在原串T的位置插入串V i+=StrLength(V); /在插入的串V后面繼續(xù)查找串T while(i); return OK; 第五章習(xí)題答案1、(1)數(shù)組A共占用48*6=288個(gè)字節(jié);(2)數(shù)組A的最后一個(gè)元素的地址為1282;(3)按

11、行存儲(chǔ)時(shí)loc(A36)=1000+(3-1)*8+6-1*6=1126(4)按列存儲(chǔ)時(shí)loc(A36)=1000+(6-1)*6+3-1*6=11929、(1)(a,b)(2)(c,d)(3)(b)(4)b(5)(d)10、D 第六章 習(xí)題答案1、三個(gè)結(jié)點(diǎn)的樹的形態(tài)有兩個(gè);三個(gè)結(jié)點(diǎn)的二叉樹的不同形態(tài)有5個(gè)。2、略3、證明:分支數(shù)=n1+2n2+knk (1) n= n0+n1+nk (2) n=分支數(shù)+1 (3) 將(1)(2)代入(3)得 n0= n2+2n3+3n4+(k-1)nk+14、 注:C結(jié)點(diǎn)作為D的右孩子(畫圖的時(shí)候忘記了,不好意思)5、n0=50,n2=n0-1=49,所以至

12、少有99個(gè)結(jié)點(diǎn)。6、(1)前序和后序相同:只有一個(gè)結(jié)點(diǎn)的二叉樹 (2)中序和后序相同:只有左子樹的二叉樹 (3)前序和中序相同:只有右子樹的二叉樹7、證明:n個(gè)結(jié)點(diǎn)的K叉樹共有nk個(gè)鏈域,分支數(shù)為n-1(即非空域)。 空域=nk-(n-1)=nk-n+18、對(duì)應(yīng)的樹如下: 9、(答案不唯一)哈夫曼樹如下圖所示:哈夫曼編碼如下:頻率 編碼0.07 00100.19 100.02 000000.06 00010.32 010.03 000010.21 110.10 0011 11、對(duì)應(yīng)的二叉樹如下: 22、int Width(BiTree bt)if (bt=NULL) return (0); e

13、lseBiTree p,Q50; int front=1,rear=1,last=1; int temp=0, maxw=0; Qrear=bt; while(front<=last) p=Qfront+; temp+; if (p->lchild!=NULL) Q+rear=p->lchild; if (p->rchild!=NULL) Q+rear=p->rchild; last=rear; if(temp>maxw) maxw=temp; temp=0;return (maxw);第七章 習(xí)題答案1、(1)頂點(diǎn)1的入度為3,出度為0; 頂點(diǎn)2的入度為2

14、,出度為2; 頂點(diǎn)3的入度為1,出度為2; 頂點(diǎn)4的入度為1,出度為3; 頂點(diǎn)5的入度為2,出度為1; 頂點(diǎn)6的入度為2,出度為3; (2)鄰接矩陣如下: 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0(3)鄰接表 (4)逆鄰接表 2、答案不唯一(2)深度優(yōu)先遍歷該圖所得頂點(diǎn)序列為:1,2,3,4,5,6 邊的序列為:(1,2)(2,3)(3,4)(4,5)(5,6)(3)廣度優(yōu)先遍歷該圖所得頂點(diǎn)序列為:1,5,6,3,2,4 邊的序列為:(1,5)(1,6)(1,3)(1,2)(5,4)3、(1)

15、每個(gè)事件的最早發(fā)生時(shí)間: ve(0)=0,ve(1)=5,ve(2)=6, ve(3)=12, ve(4)=15, ve(5)=16, ve(6)=16, ve(7)=19, ve(8)=21, ve(9)=23 每個(gè)事件的最晚發(fā)生時(shí)間:: vl(9)=23, vl(8)=21, vl(7)=19, vl(6)=19, vl(5)=16, vl(4)=15, vl(3)=12, vl(2)=6, vl(1)=9, vl(0)=0(2)每個(gè)活動(dòng)的最早開始時(shí)間: e(0,1)=0, e(0,2)=0, e(1,3)=5, e(2,3)=6, e(2,4)=6, e(3,4)=12, e(3,5)=

16、12,e(4,5)=15, e(3,6)=12, e(5,8)=16, e(4,7)=15, e(7,8)=19, e(6,9)=16, e(8,9)=21 每個(gè)活動(dòng)的最遲開始時(shí)間: l(0,1)=4, l(0,2)=0, l(1,3)=9, l(2,3)=6, l(2,4)=12, l(3,4)=12, l(3,5)=12, l(4,5)=15, l(3,6)=15, l(5,8)=16, l(4,7)=15, l(7,8)=19, l(6,9)=19, l(8,9)=21(3)關(guān)鍵路徑如下圖所示:4、頂點(diǎn)1到其余頂點(diǎn)的最短路經(jīng)為:1-3最短路經(jīng)為1,3;長(zhǎng)度為151-2最短路經(jīng)為1,3,2

17、;長(zhǎng)度為191-5最短路經(jīng)為1,3,5;長(zhǎng)度為251-4最短路經(jīng)為1,3,2,4;長(zhǎng)度為291-6最短路經(jīng)為1,3,2,4,6;長(zhǎng)度為4413、A(7)B(3)C(2)D(11)E(8)14、略15、略第八章 查找1、畫出對(duì)長(zhǎng)度為10的有序表進(jìn)行折半查找的判定樹,并求其等概率時(shí)查找成功的平均查找長(zhǎng)度。解: ASL=(1+2*2+4*3+3*4)/10=2.95、解:(1)插入完成后的二叉排序樹如下: ASL=(1+2*2+3*3+3*4+2*5+1*6)/12=3.5 ?(2)ASL=(1+2*2+3*4+4*5)=37/12(3)12、解:哈希表構(gòu)造如下: 0 1 2 3 45 6 7 8

18、9 10 22 41 30 01 53 4613 67 H(22)=(22*3)%11=0H(41)=(41*3)%11=2H(53)=(53*3)%11=5H(46)=(46*3)%11=6H(30)=(30*3)%11=2 與(41)沖突H1(30)=(2+1)%11=3H(13)=(13*3)%11=6 與46沖突H1(13)=(6+1)%11=7H(01)=(01*3)%11=3 與30沖突H1(01)=(3+1)%11=4H(67)=(67*3)%11=3 與30沖突H1(67)=(3+1)%11=4 與01沖突H2(67)=(3+2)%11=5 與53沖突H3(67)=(3+3)%

19、11=6 與46沖突H4(67)=(3+4)%11=7 與13沖突H5(67)=(3+5)%11=8 ASLsucc=(1*4+2*3+6)/8=2ASLunsucc=(2+8+7+6+5+4+3+2)/8=37/8第九章 排序1、以關(guān)鍵字序列(503,087,512,061,908,170,897,275,653,426)為例,手工執(zhí)行以下排序算法,寫出每一趟派結(jié)束時(shí)的關(guān)鍵字狀態(tài)。(1)直接插入排序(2)希爾排序(增量序列為5,3,1)(3)快速排序(4)堆排序(5)歸并排序解:(1)略(2)增量為5的排序結(jié)果:170,087,275,061,426,503,897,512,653,908

20、增量為3的排序結(jié)果:061,087,275,170,426,503,897,512,653,908 增量為1的排序結(jié)果:061,087,170,275,426,503,512,653,897,908(3)一次劃分后:426 087 275 061 170503897 908 653 512 分別進(jìn)行:170 087 275 061426 503 512 653 897 908 061 087170275426 503 512 653 897 908 061 087 170 275 426 503 512 653 897 908 (4)略7、已知一組關(guān)鍵字:(40,27,28,12,15,50,

21、7),要求采用快速排序法從小到大排序。請(qǐng)寫出每趟排序后的劃分結(jié)果。解:初始狀態(tài):40 27 28 12 15 50 7 一次劃分:7 27 28 12 15 40 50 依次劃分:7 27 28 12 15 40 50 7 15 12 27 28 40 50 7 12 15 27 28 40 5016、(1)A3 B1 C4 D2 E7 (2)C (3)C17、對(duì),錯(cuò),對(duì) 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)指導(dǎo)書 一、設(shè)計(jì)內(nèi)容 1.飛機(jī)訂票系統(tǒng)(限1 人完成)【問題描述】設(shè)計(jì)一個(gè)飛機(jī)訂票系統(tǒng),可以模擬處理飛機(jī)訂票過程中的各種操作?!净疽蟆客ㄟ^此系統(tǒng)可以實(shí)現(xiàn)如下功能:1)錄入可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一

22、個(gè)數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)。2)查詢可以查詢某個(gè)航線的情況(如,輸入航班號(hào),查詢起降時(shí)間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉(cāng));可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況。3)訂票(訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班。4)退票可退票,退票后修改相關(guān)數(shù)據(jù)文件??蛻糍Y料有姓名,證件號(hào),訂票數(shù)量及航班情況,訂單要有編號(hào)。5)修改航班信息當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件根據(jù)以上功能說明,設(shè)計(jì)航班信息,訂票信息的存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)程序完成功能。2.文章編輯(限1 人完成)【問題描述】輸入一頁(yè)文字,程序可以統(tǒng)計(jì)出文字、數(shù)

23、字、空格的個(gè)數(shù)?!净疽蟆快o態(tài)存儲(chǔ)一頁(yè)文章,每行最多不超過80個(gè)字符,共N行;1)分別統(tǒng)計(jì)出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);2)統(tǒng)計(jì)某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);3)刪除某一子串,并將后面的字符前移;4)用指定的字符串替換某一子串;5)存儲(chǔ)結(jié)構(gòu)使用線性表,分別用幾個(gè)子函數(shù)實(shí)現(xiàn)相應(yīng)的功能;6)輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、小寫的英文字母、任何數(shù)字及標(biāo)點(diǎn)符號(hào)。7)輸出形式:分行輸出用戶輸入的各行字符;分4行輸出"全部字母數(shù)"、"數(shù)字個(gè)數(shù)"、"空格個(gè)數(shù)"、"文章總字?jǐn)?shù)";輸出刪除某一字符串后

24、的文章;輸出替換某一字符串后的文章。3.宿舍管理查詢軟件(限1 人完成)【問題描述】為宿舍管理人員編寫一個(gè)宿舍管理查詢軟件?!净疽蟆?) 程序設(shè)計(jì)要求:采用交互工作方式建立數(shù)據(jù)文件,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號(hào)、房號(hào))進(jìn)行排序(冒泡、選擇、插入排序等任選一種)2) 查詢菜單: (用二分查找實(shí)現(xiàn)以下操作)按姓名查詢按學(xué)號(hào)查詢按房號(hào)查詢3) 輸出任一查詢結(jié)果(可以連續(xù)操作)4.全國(guó)交通咨詢模擬【問題描述】處于不同目的的旅客對(duì)交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的時(shí)間盡可能的短,出門旅游的游客則期望旅費(fèi)盡可能省,而老年旅客則要求中轉(zhuǎn)次數(shù)最少。編制一個(gè)全國(guó)城市間的交通咨詢程序,為

25、旅客提供兩種或三種最優(yōu)決策的交通咨詢?!驹O(shè)計(jì)要求】1)提供對(duì)城市信息進(jìn)行編輯(如:添加或刪除)的功能。2)提供對(duì)列車時(shí)刻表進(jìn)行編輯(增設(shè)或刪除)的功能。3) 提供兩種最優(yōu)決策:最快到達(dá)和最省錢到達(dá)。4)旅途中耗費(fèi)的總時(shí)間應(yīng)該包括中轉(zhuǎn)站的等候時(shí)間。5)咨詢以用戶和計(jì)算機(jī)的對(duì)話方式進(jìn)行。由用戶輸入起始站、終點(diǎn)站、最優(yōu)決策原則,輸出信息:最快需要多長(zhǎng)時(shí)間才能到達(dá)或者最少需要多少旅費(fèi)才能到達(dá),并詳細(xì)說明于何時(shí)乘坐哪一趟列車到何地。測(cè)試數(shù)據(jù):參考教科書7.6節(jié)圖7.33的全國(guó)交通圖,自行設(shè)計(jì)列車時(shí)刻表。【實(shí)現(xiàn)提示】1) 對(duì)全國(guó)城市交通圖和列車時(shí)刻表進(jìn)行編輯,應(yīng)該提供文件形式輸入和鍵盤輸入兩種方式。列車時(shí)

26、刻表則需根據(jù)交通圖給出各個(gè)路段的詳細(xì)信息,例如:基于教科書7.6節(jié)圖7.33的交通圖,對(duì)從北京到上海的火車,需給出北京至天津、天津至徐州及徐州至上海各段的出發(fā)時(shí)間、到達(dá)時(shí)間及票價(jià)等信息。2) 以鄰接表作交通圖的存儲(chǔ)結(jié)構(gòu),表示邊的結(jié)構(gòu)內(nèi)除含有鄰接點(diǎn)的信息外,還應(yīng)包括交通工具、路程中耗費(fèi)的時(shí)間和花費(fèi)以及出發(fā)和到達(dá)的時(shí)間等多種屬性。5.哈夫曼編碼/譯碼器(限1 人完成)【問題描述】設(shè)計(jì)一個(gè)利用哈夫曼算法的編碼和譯碼系統(tǒng),重復(fù)地顯示并處理以下項(xiàng)目,直到選擇退出為止?!净疽蟆?) 將權(quán)值數(shù)據(jù)存放在數(shù)據(jù)文件(文件名為data.txt,位于執(zhí)行程序的當(dāng)前目錄中)2) 分別采用動(dòng)態(tài)和靜態(tài)存儲(chǔ)結(jié)構(gòu)3) 初始

27、化:鍵盤輸入字符集大小n、n個(gè)字符和n個(gè)權(quán)值,建立哈夫曼樹;4) 編碼:利用建好的哈夫曼樹生成哈夫曼編碼;5) 輸出編碼;6) 設(shè)字符集及頻度如下表:字符 空格 A B C D E F G H I J K L M頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20字符 N O P Q R S T U V W X Y Z頻度 57 63 15 1 48 51 80 23 8 18 1 16 1【進(jìn)一步完成內(nèi)容】1) 譯碼功能;2) 顯示哈夫曼樹;3) 界面設(shè)計(jì)的優(yōu)化。6.走迷宮游戲【問題描述】以一個(gè)m×n的長(zhǎng)方陣表示迷宮,0和1分別表示迷宮中的通路和

28、障礙。設(shè)計(jì)一個(gè)程序,對(duì)任意設(shè)定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結(jié)論。【基本要求】1首先用二維數(shù)組存儲(chǔ)迷宮數(shù)據(jù),迷宮數(shù)據(jù)由用戶輸入。2一個(gè)以鏈表作存儲(chǔ)結(jié)構(gòu)的棧類型,然后編寫一個(gè)求解迷宮的遞歸或非遞歸程序。求得的通路以三元組(i,j,d)形式輸出,其中:(i,j)指示迷宮中的一個(gè)坐標(biāo),d表示走到下一坐標(biāo)的方向(東、南、西、北四個(gè)方向所用代表數(shù)字,自行定義)。3可以用多種方法實(shí)現(xiàn),但至少用兩種方法,用三種以上可加分?!緦?shí)現(xiàn)提示】1計(jì)算機(jī)解迷宮問題通常用的是“窮舉求解”方法,即從入口出發(fā),順著某一個(gè)方向進(jìn)行探索,若能走通,則繼續(xù)往前進(jìn);否則沿著原路退回,換一個(gè)方向繼續(xù)探索,直至出口

29、位置,求得一條通路。假如所有可能的通路都探索到而未能到達(dá)出口,則所設(shè)定的迷宮沒有通路。迷宮的入口點(diǎn)的下標(biāo)為(1,1),出口點(diǎn)的下標(biāo)為(m,n)。為處理方便起見,可在迷宮的四周加一圈障礙。對(duì)于迷宮的任一位置,均可約定有東、南、西、北四個(gè)方向可通。2有一種簡(jiǎn)單走出迷宮的方法,把手放在右邊的墻上開始前進(jìn),始終不要把手從墻上移開。如果迷宮向右拐,你也順著墻向右拐。只要不把手從墻上移開,最終就會(huì)到達(dá)迷宮的出口。當(dāng)然這樣得到的路徑可能不是一個(gè)最短的路徑,但它可以最終得到結(jié)果,換句話說,這種方法走不出迷宮的風(fēng)險(xiǎn)是最小的。7.作業(yè)評(píng)分系統(tǒng)【問題描述】設(shè)計(jì)一個(gè)可以給小學(xué)生出題并且可以給出分?jǐn)?shù)的系統(tǒng)軟件?!净疽?/p>

30、求】利用棧求表達(dá)式的值,可供小學(xué)生作業(yè),并能給出分?jǐn)?shù)。1) 建立試題庫(kù)文件,隨機(jī)產(chǎn)生n個(gè)題目;2) 題目涉及加減乘除,帶括弧的混合運(yùn)算;3) 隨時(shí)可以退出;4) 給出作業(yè)分?jǐn)?shù)?!具M(jìn)一步完成內(nèi)容】1)保留歷史分?jǐn)?shù),能回顧歷史,給出與歷史分?jǐn)?shù)比較后的評(píng)價(jià)。2)界面設(shè)計(jì)的優(yōu)化。8.散列表的設(shè)計(jì)與實(shí)現(xiàn)【問題描述】設(shè)計(jì)散列表實(shí)現(xiàn)電話號(hào)碼查找系統(tǒng)?!净疽蟆?)設(shè)每個(gè)記錄有下列數(shù)據(jù)項(xiàng):電話號(hào)碼、用戶名、地址;2)從鍵盤輸入各記錄,分別以電話號(hào)碼和用戶名為關(guān)鍵字建立散列表;3)采用一定的方法解決沖突;4)查找并顯示給定電話號(hào)碼的記錄;5)查找并顯示給定用戶名的記錄。【進(jìn)一步完成內(nèi)容】1) 系統(tǒng)功能的完善;

31、2) 設(shè)計(jì)不同的散列函數(shù),比較沖突率;3) 在散列函數(shù)確定的前提下,嘗試各種不同類型處理沖突的方法,考察平均查找長(zhǎng)度的變化。9.停車場(chǎng)管理【問題描述】設(shè)停車場(chǎng)是一個(gè)可停放n輛汽車的狹長(zhǎng)通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場(chǎng)內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門在最南端,最先到達(dá)的第一輛車停放在車場(chǎng)的最北端),若車場(chǎng)內(nèi)已停滿n輛汽車,則后來的汽車只能在門外的便道上等待,一旦有車開走,則排在便道上的第一輛車即可開入;當(dāng)停車場(chǎng)內(nèi)某輛車要離開時(shí),在它之后進(jìn)入的車輛必須先退出車場(chǎng)為它讓路,待該輛車開出大門外,其他車輛再按原次序進(jìn)入車場(chǎng),每輛停放在車場(chǎng)的車在它離開停車場(chǎng)時(shí)必須按它停留的

32、時(shí)間長(zhǎng)短交納費(fèi)用。試為停車場(chǎng)編制按上述要求進(jìn)行管理的模擬程序?!净疽蟆恳詶DM停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼以及到達(dá)或離去的時(shí)刻。對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出信息為:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或便道上的停車位置;若是車輛離去,則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)間和應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表結(jié)構(gòu)實(shí)現(xiàn)。【測(cè)試數(shù)據(jù)】設(shè)n=2,輸入數(shù)據(jù)為:(A,1,5),(A,2,10),(D,1,15),(A,3,20),(A,4,25),(A,5,30),(D,2,35),(D,4,40),(E,0,0)。其中:A表示到達(dá)(Arrival);D表示(Departure);E表示輸入結(jié)束(End)。【實(shí)現(xiàn)提示】需另設(shè)一個(gè)棧,臨時(shí)停放為給要離去的汽車讓路而從停車場(chǎng)退出來的汽車,也用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)。輸入數(shù)據(jù)按到達(dá)或離去的時(shí)刻有序。棧中每個(gè)元素表示一輛汽車,包含兩個(gè)數(shù)據(jù)項(xiàng):汽車的牌照號(hào)碼和進(jìn)入停車場(chǎng)的時(shí)刻。10.八皇后問題【問題描述】求出在一個(gè)n

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論