版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、中南民族大學管理學院學生實驗報告實驗項目:二叉樹的建立與遍歷課程名稱:數(shù)據(jù)結(jié)構(gòu)年級:2011專業(yè):信息管理與信息系統(tǒng)指導教師:實驗地點:管理學院綜合實驗室完成日期:2012年12月15日小組成員:微博song-style是壞學長2012-學年至2013_學年度第丄學期中南民族大學管理學院學生實驗報告song-style是壞學長實驗目的(1)掌握二叉樹的建立與遍歷(2)學會定義抽象數(shù)據(jù)類型(3)學會分析問題,設計適當?shù)慕鉀Q方案實驗內(nèi)容【問題描述】建立一棵二叉樹,并對其進行遍歷(先序、中序、后序),打印輸出遍歷結(jié)果?!净疽蟆繌逆I盤接受輸入(先序),以二叉樹表作為存儲結(jié)構(gòu),建立二叉樹(以先序來建
2、立),并采用遞歸算法對其進行遍歷(先序、中序、后序),將遍歷結(jié)果打印輸出?!緶y試數(shù)據(jù)】ABC#DE#G#F#(其中#表示空格字符)則輸出結(jié)果為先序:ABCDEGF中序:CBEGDFA后序:CGEFDBA【選作內(nèi)容】采用非遞歸算法實現(xiàn)二叉樹的遍歷實驗步驟(一)需求分析(二)概要設計(三)詳細設計(四)調(diào)試分析1.我們用getchar (ch)讀入一個字符時讀不出來,后來我們 用 scanf("%c",&ch)也不對,用 /seanf("%c",%ch) 和 scanf(&ch) 是對的,但根據(jù)我們以前學的 C語言語句結(jié)構(gòu),這后面的兩個都 是
3、不對的。(五) 用戶手冊(六) 測試結(jié)果(說明:將程序?qū)嶋H運行的結(jié)果截圖后粘貼在這里。請刪除這里 的說明文字)(七) 心得體會(八) 團隊介紹(九) 附錄:源程序清單#include vstdio.h>#include <malloc.h>typedef struct nodechar data;struct node *lchild;struct node *rchild; Node,*pNode;void PreOrder(pNode m); 先序遍歷void InOrder(pNode m); 中序遍歷void PostOrder(pNode m); 后序遍歷pNode
4、 creat_1();輸入一個先序順序的二叉樹字符串pNode creat();按照先序遍歷創(chuàng)建一個二叉樹char b25;int j;int main()pNode m=NULL ;int i = 1,a;while(i)printf("n*請選擇 *n")printf(" 1按先序遍歷創(chuàng)建二叉樹n");printf(" 2按先序遍歷遍歷二叉樹n");printf(" 3按中序遍歷遍歷二叉樹n");printf(" 4按后序遍歷遍歷二叉樹n");printf("輸入以上數(shù)字之外的則退
5、出");printf("n*n");printf("請輸入:");scanf("%d", &a);switch (a)case 1: m=creat_1(); break;case 2: PreOrder(m); break; case 3: InOrder(m); break;case 4: PostOrder(m); break;default :i=0;pNode creat_1()printf("請輸入字符串:(例如 ABC#DE#G#F#,#代表空)n");scanf("%s&
6、quot;,b); return creat();pNode creat()pNode m;char ch;ch=bj;j+;scanf(&ch);讀入一個字符 if(ch='#') return NULL;/ 構(gòu)造空樹 構(gòu)造新結(jié)點m=(pNode)malloc(sizeof(Node);m->data=ch;生成根結(jié)點m->lchild=creat(); 構(gòu)造左子樹 m->rchild=creat(); II 構(gòu)造右子樹 return m;void PreOrder(pNode m)if(!m) return;elseprintf("%c
7、",m->data); PreOrder(m->lchild);PreOrder(m->rchild);void InOrder(pNode m)if(!m) return;elseInOrder(m->lchild); printf("%c ",m->data); InOrder(m->rchild);void PostOrder(pNode m)if(!m) return;elsePostOrder(m->lchild); PostOrder(m->rchild); printf("%c ",
8、m->data);實驗結(jié)果分析1. 在算法實現(xiàn)上,從算法的效率看,遞歸方法書寫形式較為簡潔,更為直觀,一般具有較好的空間效率。2. 程序的設計應該簡潔,函數(shù)之間的調(diào)用關(guān)系應該明 了,以便于調(diào)試。3. 只有充分地了解二叉樹的生成、遍歷的步驟和方法, 才能夠?qū)懗鱿鄳恼_的代碼。4. 在不同環(huán)境下,應該注意區(qū)別不同語言之間的聯(lián)系與 區(qū)別,否則可能會顯示出錯。5. 編寫代碼時要小心細致,即使是很小的錯誤對整個程 序來說也可能會產(chǎn)生很大的影響。指導教師批閱:指標最高分評分要素評分設計技術(shù)水平30程序的功能設計、數(shù)據(jù)結(jié)構(gòu)設計及整體結(jié)構(gòu) 設計合理;程序運行情況良好,算法說明清 晰,理論分析與計算正確,實驗數(shù)據(jù)無誤實際動手能力20熟練使用開發(fā)工具,能夠迅速準確的進行調(diào) 試、糾錯和運行編程風格10良好的編程風格
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【核心素養(yǎng)目標】滬科版九年級物理 第十四章 第五節(jié) 課時2 串、并聯(lián)電路中電壓的規(guī)律 教案
- 升華與凝華教案科學
- 2025年高考數(shù)學總復習 56 第七章 微專題 構(gòu)造法求數(shù)列的通項
- 培養(yǎng)學生獨立思考與創(chuàng)造能力的生物學教學計劃
- 廣東省深圳四校發(fā)展聯(lián)盟體2022年高一物理第二學期期末聯(lián)考模擬試題含解析
- 廣東省培正中學2021-2022學年高一物理第二學期期末統(tǒng)考模擬試題含解析
- 甘肅省天水一中2021-2022學年物理高一第二學期期末考試模擬試題含解析
- 綠色物流行業(yè)智能化解決方案
- 山東省濰坊高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)實驗學校2024-2025學年六年級數(shù)學第一學期期末預測試題含解析
- 甘肅省蘭州市蘭大附中2022年物理高一下期末學業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 2024年山東省青島市中考數(shù)學試卷(附答案)
- 2024至2030年中國化機漿行業(yè)市場深度分析及投資決策建議報告
- 中醫(yī)醫(yī)防融合
- 深圳實驗初中錢學森班分班考試卷
- 滬科版(2024)八年級全一冊物理第一學期期末學業(yè)質(zhì)量測試卷 2套(含答案)
- 遼寧省2024年中考英語真題【附真題答案】
- 2024年第九屆“學憲法、講憲法”競賽題庫試卷及答案
- 人教版二年級上冊退位減法豎式計算題練習200道及答案
- 2024年永州職業(yè)技術(shù)學院單招職業(yè)技能測試題庫及答案解析
- 注射相關(guān)感染預防與控制(全文)
- CJT 273-2012 聚丙烯靜音排水管材及管件
評論
0/150
提交評論