




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、二叉樹(shù) 實(shí)驗(yàn)報(bào)告姓名:姚伍奎 時(shí)間:2012-3-91. 實(shí)驗(yàn)?zāi)康模海?) 掌握二叉樹(shù)的三種遍歷算法(遞歸和非遞歸兩類)(2) 本實(shí)驗(yàn)主要了解二叉樹(shù)的建立和先序遍歷的算法2實(shí)驗(yàn)內(nèi)容:(1) 首先創(chuàng)建一個(gè)二叉樹(shù),然后進(jìn)行二叉樹(shù)的先序遍歷.(2) 采用二叉樹(shù)表結(jié)構(gòu)存儲(chǔ),每個(gè)結(jié)點(diǎn)有存放字符型數(shù)據(jù)的字段data,存放左右孩子的指針字段lchild和rchild.(3) 二叉樹(shù)及其對(duì)應(yīng)的二叉樹(shù)鏈表如下圖: 圖1.13 實(shí)驗(yàn)步驟 先創(chuàng)建二叉樹(shù)是否存在 否 是 *t=null分配一個(gè)二叉樹(shù)空間分別創(chuàng)建二叉樹(shù)的左右子樹(shù)輸入一個(gè)二叉樹(shù)是否為空 是 否 輸出二叉樹(shù) 返回return 生成主函數(shù)main(); 輸入
2、圖1.1二叉樹(shù)圖 先序輸出二叉樹(shù)結(jié)束 四 試驗(yàn)程序如下:#include stdio.h#include stdlib.h#define maxsize 12500typedef struct bitnodechar data;struct bitnode *lchild,*rchild;*bittree;typedef struct stackint top;bittree maxsizemaxsize;*stack;void creattree(bittree *t) char ch ;scanf(%c,&ch);if(ch=.)*t = null;else(*t) = (struct b
3、itnode *)malloc(sizeof(struct bitnode);(*t)-data = ch;creattree(&(*t) - lchild);creattree(&(*t) - rchild);void printtree(bittree boot) if(boot =null)return;elseprintf(%c,boot-data);printtree(boot-lchild);printtree(boot-rchild); int leaf(bittree t)if(!t)return 0;else if(!(t)-lchild)& !(t)-rchild)retu
4、rn 1;elsereturn (leaf(t-lchild)+leaf(t-rchild);void main()bittree t;printf(請(qǐng)先輸入二叉樹(shù) (.代表空子樹(shù)): n);creattree(&t);printf(先序輸出為:);printtree(t);五 實(shí)驗(yàn)結(jié)果如下圖:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)姓名:姚伍奎一.設(shè)計(jì)題目: 設(shè)計(jì)程序按從小到大的次序依次輸出函數(shù)f(a,b)=2*a*a+b*b的最小的100個(gè)函數(shù)值及其相應(yīng)的兩個(gè)參數(shù)的值,其中a和b均為自然數(shù)。要求:(1) 作為函數(shù)值的存儲(chǔ)結(jié)構(gòu)應(yīng)盡可能節(jié)省空間。(2) 所設(shè)計(jì)算法及整個(gè)程序的時(shí)間復(fù)雜度應(yīng)盡可能小。二 運(yùn)行環(huán)境:在c環(huán)
5、境中運(yùn)行三 算法設(shè)計(jì)結(jié)構(gòu)圖:先定義一個(gè)函數(shù)f()設(shè)置主函數(shù)main();設(shè)置 兩個(gè)整形變量a、b 設(shè)置三個(gè)整形參數(shù):count、result、flaga.for循環(huán)語(yǔ)句b.for循環(huán)語(yǔ)句temp=result 是否 輸出、跳出、計(jì)算下一個(gè)tempresult 否flag=1 是 是 否count=100 是按倒序輸出結(jié)果 否a=49 否 是結(jié)束 四 算法設(shè)計(jì):設(shè)計(jì)本題算法的構(gòu)思如下:(1)為得到符合要求的結(jié)果數(shù)。算法中設(shè)計(jì)了一個(gè)結(jié)構(gòu)體數(shù)組struct用于存放a、b和結(jié)果值。(2)算法設(shè)置兩個(gè)變量a、b和一個(gè)參數(shù)result(結(jié)果值),算法主要根據(jù)選取a、b值來(lái)得到結(jié)果。需要盡量選取a、b值的時(shí)
6、候應(yīng)盡量小且有順序選取。(3)分別用一個(gè)for循環(huán)對(duì)和進(jìn)行選值,把函數(shù)賦給結(jié)構(gòu)體數(shù)組。用if語(yǔ)句判斷結(jié)果數(shù)與結(jié)構(gòu)體數(shù)組中的數(shù)值是否相等,如果相等則輸出值,然后結(jié)果數(shù)和計(jì)算器數(shù)自增;如果不符,跳出,計(jì)算下一個(gè)。(4)用一個(gè)整形參數(shù)flag來(lái)判斷a、b是否可得出結(jié)果的標(biāo)識(shí)。當(dāng)計(jì)數(shù)器等于100時(shí)跳出for循環(huán)語(yǔ)句。(5)如果等于49時(shí)還未得到100個(gè)數(shù),結(jié)果數(shù)自增,計(jì)算下一個(gè),a=-1,跳出。從新計(jì)算。(6)輸出結(jié)果按倒序輸出。五 源代碼如下:#include #include int f(int a, int b) 待添加的隱藏文字內(nèi)容2 return 2*a*a+b*b; struct int
7、a;int b;int result;result_temp100;int main() int a,b; int count=0;/已得到的結(jié)果數(shù)int result=0;/目的結(jié)果int flag=0;/判斷a b是否可得出結(jié)果的標(biāo)識(shí)for (a=0; a50;a+)/50控制循環(huán)數(shù),可調(diào),只要能得到個(gè)結(jié)果,越小越好 for (b=0; bresult) break; if (flag=1) flag=0; a=-1; continue; if (count=100) break; if (a=49)/a時(shí)還未得出結(jié)果,目的結(jié)果自增,從新計(jì)算下一個(gè) result+; a=-1; conti
8、nue; for(int i=99;i=0;i-)printf(%d %d %d n,result_tempi.a,result_tempi.b,result_tempi.result);getchar();六 運(yùn)行結(jié)果如圖:(截圖)七 總結(jié): 程序設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)提出分析和解決實(shí)際問(wèn)題。鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們的實(shí)際工作能力的具體訓(xùn)練和考察的過(guò)程。隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說(shuō)是無(wú)處不在。而掌握程序開(kāi)發(fā)技術(shù)是十分重要的,而數(shù)據(jù)結(jié)構(gòu)又是程序開(kāi)發(fā)的前提和基礎(chǔ)。這次程序課程設(shè)計(jì)結(jié)束了,它不僅檢驗(yàn)了我們所學(xué)的知識(shí),也培養(yǎng)了我們?nèi)绾稳グ盐找患虑椋?/p>
9、如何去做一件事情,又如何完成一件事情的動(dòng)手能力。通過(guò)這次課程設(shè)計(jì)。我把前面所學(xué)的知識(shí)又從新溫故了一遍。在進(jìn)行課程設(shè)計(jì)中,更好的認(rèn)識(shí)了:結(jié)構(gòu)體和偽代碼,認(rèn)識(shí)偽代碼是一種算法描述語(yǔ)言。使用偽代碼的目的是為了使被描述的算法可以更容易地以任何一種編程語(yǔ)言實(shí)現(xiàn),因此偽代碼必須結(jié)構(gòu)清晰,簡(jiǎn)單,可讀性好??粗?jiǎn)單,但做著難!此句話一點(diǎn)都沒(méi)有錯(cuò),自己有點(diǎn)眼高手低了,心太急。不過(guò)敢想、敢寫、敢去嘗試,付出了就會(huì)有回報(bào)。收獲了不少。for循環(huán)、判定條件的if語(yǔ)句、continue用法和bread用法、結(jié)構(gòu)體的使用等等,很有體會(huì)。做了這個(gè)課程設(shè)計(jì),我覺(jué)得課程設(shè)計(jì)這種形式真的是我們需要的,可以讓我們學(xué)到很多,包括書(shū)本上的,書(shū)外的??芍^是理論永遠(yuǎn)都需要實(shí)踐來(lái)證明,否則理論永遠(yuǎn)是理論,不可能等于實(shí)踐的。在自學(xué)的時(shí)候,覺(jué)得自己對(duì)于書(shū)本上的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西農(nóng)業(yè)大學(xué)南昌商學(xué)院《電視欄目創(chuàng)意與策劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 公共交通行業(yè)服務(wù)質(zhì)量評(píng)價(jià)制度
- 公共交通車輛維修質(zhì)量管理制度
- 工作責(zé)任追究制度
- 新疆魚(yú)類制品種類及食用情況調(diào)查問(wèn)卷
- 關(guān)于聯(lián)耕聯(lián)種生產(chǎn)方式推行的民意調(diào)查
- 農(nóng)村暗室改造方案范本
- 2025年農(nóng)林牧漁行業(yè)現(xiàn)狀分析:國(guó)家對(duì)農(nóng)林牧漁行業(yè)政策支持力度不斷加大
- 無(wú)機(jī)墻體保溫施工方案
- 廣東省深圳實(shí)驗(yàn)學(xué)校高中園2024-2025學(xué)年高二上學(xué)期第三階段考試數(shù)學(xué)試題(解析版)
- 農(nóng)民田間學(xué)校規(guī)章制度
- 《電力建設(shè)施工技術(shù)規(guī)范 第2部分:鍋爐機(jī)組》DLT 5190.2
- 供水管網(wǎng)搶修管理課件
- 微信公眾號(hào)總結(jié)報(bào)告
- 制定售后服務(wù)績(jī)效考評(píng)標(biāo)準(zhǔn)與方法
- 正確認(rèn)識(shí)人的本質(zhì) (修改版)
- 2023年北京師范大學(xué)珠海分校招聘考試真題
- 2016-2023年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年考點(diǎn)試題甄選合集含答案解析
- 高原健康呼吸用氧 通用技術(shù)指南
- 中醫(yī)內(nèi)科學(xué)-咳嗽課件
- 2022管理學(xué)試題庫(kù)(馬工程)
評(píng)論
0/150
提交評(píng)論