中南民族大學信管二叉樹數(shù)據(jù)結(jié)構(gòu)試驗報告_第1頁
中南民族大學信管二叉樹數(shù)據(jù)結(jié)構(gòu)試驗報告_第2頁
中南民族大學信管二叉樹數(shù)據(jù)結(jié)構(gòu)試驗報告_第3頁
中南民族大學信管二叉樹數(shù)據(jù)結(jié)構(gòu)試驗報告_第4頁
中南民族大學信管二叉樹數(shù)據(jù)結(jié)構(gòu)試驗報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論