


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WORD格式課程設(shè)計(jì)說(shuō)明書(shū)題目:數(shù)據(jù)構(gòu)造與算法課程設(shè)計(jì)學(xué)院系:專(zhuān)業(yè)班級(jí):學(xué)號(hào):學(xué)生*:指導(dǎo)教師:教師職稱(chēng):起止時(shí)間:專(zhuān)業(yè)資料整理WORD格式課程設(shè)計(jì)論文任務(wù)及評(píng)語(yǔ)院系:教研室:軟件工程學(xué) 號(hào)學(xué)生*專(zhuān)業(yè)班級(jí)課程設(shè)計(jì)論文數(shù)據(jù)構(gòu)造與算法課程設(shè)計(jì)題目1從十個(gè)題目中選擇一個(gè)題目,,要求每個(gè)題目用標(biāo)準(zhǔn)的C 語(yǔ)言程序?qū)崿F(xiàn), 另外 ,課完成思考題一題,思考題須寫(xiě)出相應(yīng)的類(lèi)C 算法即可。程設(shè)2每個(gè)題目編寫(xiě)源程序時(shí),要求有主菜單,每個(gè)子功能定義為相應(yīng)的子函數(shù),在計(jì)主函數(shù)中調(diào)用各子函數(shù),程序構(gòu)造清晰。3根據(jù)題目 ,選擇適宜的邏輯構(gòu)造和存儲(chǔ)構(gòu)造。論 4輸入的數(shù)據(jù)由鍵盤(pán)輸入。文) 5分析算法的時(shí)間復(fù)雜度,要求算法的效率
2、盡可能高。任 6驗(yàn)證排序算法的穩(wěn)定性。務(wù)指導(dǎo)教師評(píng)語(yǔ)及成績(jī)成績(jī):指導(dǎo)教師簽字:專(zhuān)業(yè)資料整理WORD格式2021年月日專(zhuān)業(yè)資料整理WORD格式目錄第 1 章課程設(shè)計(jì)目的與要求11.1課程設(shè)計(jì)目的11.2課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境11.3課程設(shè)計(jì)的預(yù)備知識(shí)11.4課程設(shè)計(jì)要求1第 2 章 課程設(shè)計(jì)內(nèi)容22.1題目的選擇22.2題目的具體實(shí)現(xiàn)22.3思考題解析12總結(jié):14參考文獻(xiàn)錯(cuò)誤!未定義書(shū)簽。專(zhuān)業(yè)資料整理WORD格式第 1章課程設(shè)計(jì)目的與要求1.1 課程設(shè)計(jì)目的本課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)、軟件工程專(zhuān)業(yè)的專(zhuān)業(yè)技術(shù)實(shí)踐課。本實(shí)踐課的主要目的是:使學(xué)生學(xué)會(huì)利用在課堂中學(xué)過(guò)的理論知識(shí),解決相應(yīng)的實(shí)際問(wèn)題
3、,深入理解和靈活掌握所學(xué)的內(nèi)容,培養(yǎng)學(xué)生理論和實(shí)踐相結(jié)合的能力, 培養(yǎng)學(xué)生分析問(wèn)題解決問(wèn)題的能力。同時(shí),在實(shí)驗(yàn)步驟標(biāo)準(zhǔn)化、程序設(shè)計(jì)方法等方面受到比較系統(tǒng)和標(biāo)準(zhǔn)的訓(xùn)練。 通過(guò)實(shí)踐設(shè)計(jì)使學(xué)生進(jìn)一步加深對(duì)程序設(shè)計(jì)的標(biāo)準(zhǔn)化及對(duì)復(fù)雜程序設(shè)計(jì)步驟的理解。通過(guò)課程設(shè)計(jì),加深對(duì)"數(shù)據(jù)構(gòu)造"這一課程所學(xué)內(nèi)容的進(jìn)一步理解與穩(wěn)固。通過(guò)課程設(shè)計(jì),加深對(duì)構(gòu)造化設(shè)計(jì)思想的理解,能對(duì)系統(tǒng)功能進(jìn)展分析,并設(shè)計(jì)合理的模塊化構(gòu)造。通過(guò)課程設(shè)計(jì),提高程序開(kāi)發(fā)功能, 能運(yùn)用合理的控制流程編寫(xiě)清晰高效的程序。通過(guò)課程設(shè)計(jì),訓(xùn)練 C 程序調(diào)試能力,能將一個(gè)中小型各級(jí)組織系統(tǒng)聯(lián)調(diào)通過(guò)。通過(guò)課程設(shè)計(jì),開(kāi)發(fā)一個(gè)中小型系統(tǒng),
4、掌握系統(tǒng)研發(fā)全過(guò)程。通話課程設(shè)計(jì),培養(yǎng)分析問(wèn)題、解決實(shí)際問(wèn)題的能力。1.2 課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境PC 機(jī), WindowsXP,C+。1.3 課程設(shè)計(jì)的預(yù)備知識(shí)C 語(yǔ)言程序設(shè)計(jì)、數(shù)據(jù)構(gòu)造。1.4 課程設(shè)計(jì)要求1認(rèn)真查找資料,分析每個(gè)題目應(yīng)選擇的數(shù)據(jù)構(gòu)造邏輯構(gòu)造和物理構(gòu)造 ;2按時(shí)到實(shí)驗(yàn)室調(diào)試程序,遵守實(shí)驗(yàn)室的規(guī)章制度,保護(hù)設(shè)備;3每個(gè)題目編寫(xiě)源程序時(shí),每個(gè)子功能定義為相應(yīng)的子函數(shù),在主函數(shù)中調(diào)用各子函數(shù),程序構(gòu)造清晰,有必要的注釋?zhuān)勺x性強(qiáng)。4程序強(qiáng)健性強(qiáng),當(dāng)數(shù)據(jù)輸入錯(cuò)誤時(shí),要進(jìn)展相應(yīng)的處理;5分析算法的時(shí)間復(fù)雜度,要求算法的效率盡可能高;6對(duì)于排序算法,要驗(yàn)證排序算法的穩(wěn)定性。專(zhuān)業(yè)資料整理WO
5、RD格式1專(zhuān)業(yè)資料整理WORD格式第 2 章 課程設(shè)計(jì)內(nèi)容2.1 題目的選擇6、學(xué)生成績(jī)管理系統(tǒng)2.2 題目的具體實(shí)現(xiàn)1題目應(yīng)實(shí)現(xiàn)的具體功能;1錄入學(xué)生成績(jī)信息并保存;2可查詢(xún)顯示所有學(xué)生的個(gè)人信息;3可查詢(xún)顯示所有學(xué)生的所學(xué)課程信息;4按學(xué)號(hào)或*查詢(xún)成績(jī)信息;5能添加、刪除和修改學(xué)生的成績(jī)信息;2題目所選擇的數(shù)據(jù)構(gòu)造及存儲(chǔ)構(gòu)造;采用線性數(shù)據(jù)構(gòu)造及鏈?zhǔn)酱鎯?chǔ)構(gòu)造3完整的源程序#include<stdio.h>#include<stdlib.h>#include<string.h>struct studlong num;char name20;double sc
6、ore1,score2;typedef struct stucodestruct stud student ;struct stucode *next;L;void menu();void createlist(struct stucode *r);void out(struct stucode *r);void search1(struct stucode *r);void search2(struct stucode *r);void del(struct stucode *r);專(zhuān)業(yè)資料整理WORD格式2專(zhuān)業(yè)資料整理WORD格式void insert(struct stucode *r)
7、;void change(struct stucode *r);void main()char choose;int flag=1;struct stucode *r=NULL;while(flag)system("cls");menu();choose=getchar();switch(choose)case '1':createlist(&r);out(r);printf("Testing function 1nPress any key to continuen");getchar();getchar();break;cas
8、e '2':search1(r);printf("Testing function 1nPress any key to continuen"); getchar();getchar();break;case '3':search2(r);printf("Testing function 1nPress any key to continuen"); getchar();getchar();break;case '4':del(&r);out(r);printf("Testing func
9、tion 1nPress any key to continuen");getchar();getchar();break;case '5':insert(&r);out(r);printf("Testing function 1nPress any key to continuen"); getchar();專(zhuān)業(yè)資料整理WORD格式3專(zhuān)業(yè)資料整理WORD格式getchar();break;case '6':out(r);printf("Testing function 1nPress any key to con
10、tinuen");getchar();getchar();break;case '7':change(&r);out(r);printf("Testing function 1nPress any key to continuen"); getchar();getchar();break;case '0':flag=0;printf("The end.n");break;default: printf("nWrong Selection!( 選擇錯(cuò)誤 ,請(qǐng)重選 !)n"); getch
11、ar();getchar();void createlist(struct stucode *r)struct stucode *p,*t;long n;char a20;double s1,s2;if(*r) *r=NULL;printf(" n 請(qǐng)輸入: n 學(xué)號(hào)* 分?jǐn)?shù) 1分?jǐn)?shù) 2假設(shè)要完畢請(qǐng)輸入四個(gè)為零n");scanf("%ld%s%lf%lf",&n,a,&s1,&s2);if(n=0) return;p=(L *)malloc(sizeof(L);p->student.num=n;strcpy(p->st
12、,a);p->student.score1=s1;p->student.score2=s2;p->next=NULL;*r=p;scanf("%ld%s%lf%lf",&n,a,&s1,&s2);while(n)專(zhuān)業(yè)資料整理WORD格式4專(zhuān)業(yè)資料整理WORD格式t=p;p=(L *)malloc(sizeof(L);p->student.num=n;strcpy(p->,a);p->student.score1=s1;p->student.score2=s2;p-&
13、gt;next=NULL;t->next=p;scanf("%ld%s%lf%lf",&n,a,&s1,&s2);void search1(struct stucode *r)long x; struct stucode *p=r;if(!r)printf(" 沒(méi)有學(xué)生信息可查詢(xún) !n");return ;printf(" 請(qǐng)輸入要查詢(xún)的學(xué)生信息的學(xué)生學(xué)號(hào):n");scanf("%ld",&x);while(p&&p->student.num!=x)p=p
14、->next;if(p=NULL)printf("Error! No such student !n");elseprintf("%ld%s%.2lf%.2lfn",p->student.num,p->,p->student.score1,p->student.score2);void search2(struct stucode *r)char m20;if(!r)printf(" 沒(méi)有學(xué)生信息可查詢(xún) !n");return ;printf(" 請(qǐng)輸入要查詢(xún)的學(xué)生信息的
15、學(xué)生*:n");scanf("%s",m);while(r&&strcmp(r->,m)r=r->next;if(r=NULL)printf("Error! No such student !n");elseprintf("%ld%s%.2lf%.2lfn",r->student.num,r->,r->student.score1,r->student.sc專(zhuān)業(yè)資料整理WORD格式5專(zhuān)業(yè)資料整理WORD格式ore2);void
16、 del(struct stucode *r)long k;struct stucode *p=*r,*t;if(!(*r)printf(" 沒(méi)有學(xué)生信息可刪除!n");return ;printf(" 請(qǐng)輸入要?jiǎng)h除的學(xué)生信息的學(xué)生學(xué)號(hào) :n"); scanf("%ld",&k);if(p->student.num=k)*r=(*r)->next,free(p);elsewhile(p->next&&p->next->student.num!=k)p=p->next;if(p
17、->next=NULL)printf("Error! No such student !n");elset=p->next;p->next=p->next->next;free(t);void insert(struct stucode *r)long n;char a20;double s1,s2;L *p,*t,*k;printf(" 請(qǐng)輸入要插入的學(xué)生信息的學(xué)生學(xué)號(hào)* 分?jǐn)?shù) 1 分?jǐn)?shù) 2 :n");scanf("%ld%s%lf%lf",&n,a,&s1,&s2);p=(L
18、*)malloc(sizeof(L);p->student.num=n;p->student.score1=s1;p->student.score2=s2;strcpy(p->,a);if(!(*r)*r=p;專(zhuān)業(yè)資料整理WORD格式6專(zhuān)業(yè)資料整理WORD格式(*r)->next=NULL;return ;if(p->student.num<(*r)->student.num)p->next=(*r),(*r)=p;elset=*r;k=t;while(t->next&&t->next-&
19、gt;student.num<=p->student.num)t=t->next;p->next=t->next;t->next=p;*r=k;void out(struct stucode *r)printf("nn");if(!r)printf(" 沒(méi)有學(xué)生信息可輸出 !n");return ;while(r)printf("%ld%s%.2lf%.2lfn",r->student.num,r->,r->student.score1,r->stud
20、ent.score2);r=r->next;printf("nn");void change(struct stucode *r)struct stucode *p=*r;long x;long n;char a20;double s1,s2;printf(" 更改的學(xué)生的信息 n");printf("請(qǐng)輸入要查詢(xún)的學(xué)生信息的學(xué)生學(xué)號(hào):n");scanf("%ld",&x);while(p&&p->student.num!=x)p=p->next;if(p=NULL)pri
21、ntf("Error! No such student !n");elseprintf("%ld%s%.2lf%.2lfn",p->student.num,p->,p->student.score1,p->student.s專(zhuān)業(yè)資料整理WORD格式7專(zhuān)業(yè)資料整理WORD格式core2);printf("請(qǐng)輸入要修改的學(xué)生信息:n");scanf("%ld%s%lf%lf",&n,a,&s1,&s2);p->student.num=n;st
22、rcpy(p->,a);p->student.score1=s1;p->student.score2=s2;void menu()printf("n學(xué)生成績(jī)管理系統(tǒng) n");printf("n菜單 nn");printf("n 1建立鏈表 n");printf("n 2查找某學(xué)號(hào)的學(xué)生信息 n");printf("n 3查找某*的學(xué)生信息 n");printf("n 4刪除某學(xué)號(hào)的學(xué)生信息 n");printf("n 5插入
23、新的學(xué)生信息 n");printf("n 6顯示所有學(xué)生的個(gè)人信息 n");printf("n 7更改學(xué)生個(gè)人信息 n");printf("n 0退出 n");printf("n請(qǐng)選擇您要執(zhí)行的選項(xiàng) :n");4程序的輸入和輸出專(zhuān)業(yè)資料整理WORD格式8專(zhuān)業(yè)資料整理WORD格式圖 1按學(xué)生學(xué)號(hào)查找結(jié)果:圖 2專(zhuān)業(yè)資料整理WORD格式9專(zhuān)業(yè)資料整理WORD格式按學(xué)生*查找:圖 3刪除某學(xué)生的運(yùn)行結(jié)果:圖 4專(zhuān)業(yè)資料整理WORD格式10專(zhuān)業(yè)資料整理WORD格式插入某學(xué)生的運(yùn)行結(jié)果:圖 5顯示所有學(xué)生的信息:圖
24、 6專(zhuān)業(yè)資料整理WORD格式11專(zhuān)業(yè)資料整理WORD格式5調(diào)試程序中遇到的問(wèn)題及解決方案在調(diào)試 search1子函數(shù)由于在查找中移動(dòng)了原指針, 導(dǎo)致 search1中不能查找,解決方法設(shè)一構(gòu)造體類(lèi)型的指針,將原指針賦給該指針,將該指針進(jìn)展移動(dòng)查找。在調(diào)試 chance()中,如何對(duì)已有的記錄進(jìn)展從新輸入更改。解決方案為在chance()子函數(shù)中參加一個(gè)查找的程序,也就是說(shuō)先找到要修改的學(xué)生信息,用 scanf 語(yǔ)句對(duì)要修改的學(xué)生的信息進(jìn)展重新輸入, 再將所賦的信息通過(guò)賦值語(yǔ)句將修改后的學(xué)生信息賦給該學(xué)生對(duì)應(yīng)的構(gòu)造體。如何返回一個(gè)構(gòu)造體*息,解決方案是采用指針類(lèi)型, 將變量的地址作為實(shí)參賦給子函
25、數(shù)。數(shù)組名代表數(shù)組首地址,用 scanf 語(yǔ)句賦值字符串時(shí),不用加地址操作符。2.3 思考題解析所選擇的思考題:編寫(xiě)一個(gè)算法,構(gòu)造一棵哈夫曼樹(shù)。程序如下:typedef structunsigned int weight;unsigned int parent,lchild,rchild;HTNode,*HuffmanTree;typedef char * *HuffmanCodevoid HnffCodeding(HnffmanTree &HT,&HC,int *w,int n)if(n<=1) return;m=2*n-1;HT=(HuffmanTree)malloc
26、(m+1)*sizeof(HTNode);for(p=HT;i=1;i<=n;+i,+,+w) *p= *w,0,0,0;for(;i<=m;+i,+p) *p= *w,0,0,0;for(i=n+1;i<=m;+i)Select(HT,i-1,s1,s2);HTs1.parent=i; HTs2.parent=i;HTi.lchild=s1; HTi.rchild=s2;HTi.weight=HTs1.weight+HTs2.weight;HC=(HuffmanCode)malloc(n+1)*size(char *);cd=(char *)malloc(n*sizeof(
27、char);cdn-1=0;for(i=1;i<=n;+i)專(zhuān)業(yè)資料整理WORD格式12專(zhuān)業(yè)資料整理WORD格式start=n-1;for(c=i;f=HTi.parent;f!=0;c=f,f=HTf.parent)if(HTf.lchild=c) cd-start="0"else cd-start="1"HCi=(char*)malloc(n-start)*sizeof(char);strcpy(HCi,&cdstart);free(cd);算法分析:哈夫曼樹(shù)構(gòu)造方法如下:1 根 據(jù) 給 定 的n 個(gè) 權(quán) 值 W1,W2, .Wn 構(gòu) 成 n 課 二 叉 樹(shù) 的 集 合 F=T1,T2 .Tn ,其中每棵二叉樹(shù) Ti 中只有一個(gè)帶權(quán)為 Wi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中考?xì)v史中國(guó)近代史基礎(chǔ)知識(shí)測(cè)試題(選擇專(zhuān)項(xiàng))
- 《神經(jīng)內(nèi)科疾病診療》課件
- 品質(zhì)部培訓(xùn)資料
- 訂民宿房間合同協(xié)議
- 郴電國(guó)際供用電合同協(xié)議
- 網(wǎng)絡(luò)安全設(shè)備銷(xiāo)售與安裝服務(wù)合同
- 支付定金手房地產(chǎn)轉(zhuǎn)讓合同
- 人才招聘居間服務(wù)合同
- 房地產(chǎn)銷(xiāo)售協(xié)議合同
- 服裝公司協(xié)議書(shū)
- 【MOOC】太極拳初級(jí)-浙江大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 飼料廠管理制度大全
- 堅(jiān)持好發(fā)展好新時(shí)代楓橋經(jīng)驗(yàn)課件
- 《智能建造技術(shù)與裝備》 課件 第二章 BIM技術(shù)與應(yīng)用
- 技能興威第一屆威海市職業(yè)技能大賽“CAD機(jī)械設(shè)計(jì)”賽項(xiàng)樣題
- 5年(2020-2024)高考1年模擬生物真題分類(lèi)匯編(北京專(zhuān)用) 專(zhuān)題18 基因工程(原卷版)
- 企業(yè)綠色發(fā)展策略及實(shí)施方案
- 2024-2025年遼寧省面試真題
- 2024年高考真題河北卷化學(xué)試題(原卷版)
- 2024年高考真題-地理(河北卷) 含答案
- 【天潤(rùn)乳業(yè)資本結(jié)構(gòu)問(wèn)題及優(yōu)化對(duì)策分析案例10000字】
評(píng)論
0/150
提交評(píng)論