中南民族大學信管二叉樹數據結構試驗報告_第1頁
中南民族大學信管二叉樹數據結構試驗報告_第2頁
中南民族大學信管二叉樹數據結構試驗報告_第3頁
中南民族大學信管二叉樹數據結構試驗報告_第4頁
中南民族大學信管二叉樹數據結構試驗報告_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、中南民族大學管理學院學生實驗報告實驗項目:二叉樹的建立與遍歷課程名稱:數據結構年級:20112011專業:信息管理與信息系統指導教師:實驗地點:管理學院綜合實驗室完成日期:20122012 年 1212 月 1515 日小組成員:微博song-stylesong-style 是壞學長2012_2012_學年至 2013_2013_學年度第工學期song-style是壞學長實驗目的(1) 掌握二叉樹的建立與遍歷(2) 學會定義抽象數據類型(3) 學會分析問題,設計適當的解決方案實驗內容【問題描述】建立一棵二叉樹,并對其進行遍歷(先序、中序、后序),打印輸出遍歷結果。【基本要求】從鍵盤接受輸入(先

2、序),以二叉樹表作為存儲結構,建立二叉樹(以先序來建立),并采用遞歸算法對其進行遍歷(先序、中序、后序),將遍歷結果打印輸出。【測試數據】ABC#DE#G#F#(其中#表示空格字符)則輸出結果為先序:ABCDEGF中序:CBEGDFA后序:CGEFDBA【選作內容】采用非遞歸算法實現二叉樹的遍歷實驗步驟(一)需求分析(二)概要設計(三)詳細設計(四)調試分析case 1:char(ch)讀入一個字符時讀不出來,后來我們用scanf(%c,&ch)也不對,用/scanf(%c,%ch)和scanf(&ch)是對的,但根據我們以前學的C語言語句結構,這后面的兩個都是不對的。(五)用

3、戶手冊(六)測試結果(說明:將程序實際運行的結果截圖后粘貼在這里。請刪除這里的說明文字)(七)心得體會(八)團隊介紹(九)附錄:源程序清單#include#includetypedefstructnode(chardata;structnode*lchild;structnode*rchild;Node,*pNode;voidPreOrder(pNodem);/先序遍歷voidInOrder(pNodem);/中序遍歷voidPostOrder(pNodem);/后序遍歷pNodecreat_1();/輸入一個先序順序的二叉樹字符串pNodecreat();/按照先序遍歷創建一個二叉樹char

4、b25;intj;intmain()(pNodem=NULL;inti=1,a;while(i)printf(-1 按先序遍歷創建二叉樹n);printf(2 按先序遍歷遍歷二叉樹n);printf(3 按中序遍歷遍歷二叉樹n);printf(4 按后序遍歷遍歷二叉樹n);printf(輸入以上數字之外的則退出);printf(請輸入:);scanf(%d,&a);switch(a)(case 2:m=creat_1();break;case 3:PreOrder(m);break;case 4:InOrder(m);break;case 5:PostOrder(m);break;de

5、fault:i=0;pNodecreat_1()(printf(“請輸入字符串:(例如 ABC#DE#G#F#,#代表空)n);scanf(%s,b);returncreat();pNodecreat()(pNodem;charch;ch=bj;j+;scanf(&ch);/讀入一個字符 if(ch=#)returnNULL;/構造空樹構造新結點m=(pNode)malloc(sizeof(Node);m-data=ch;/生成根結點printf(n*請選擇*printf(n*n);m-lchild=creat();/構造左子樹 m-rchild=creat();構造右子樹 retur

6、nm;)voidPreOrder(pNodem)(if(!m)return;elseprintf(%c”,m-data);PreOrder(m-lchild);PreOrder(m-rchild);)voidInOrder(pNodem)if(!m)return;elseInOrder(m-lchild);printf(%c,m-data);InOrder(m-rchild);voidPostOrder(pNodem)if(!m)return;elsePostOrder(m-lchild);PostOrder(m-rchild);printf(%c,m-data);實驗結果分析1 .在算法實現

7、上,從算法的效率看,遞歸方法書寫形式較為簡潔,更為直觀,一般具有較好的空間效率。2 .程序的設計應該簡潔,函數之間的調用關系應該明了,以便于調試。3 .只有充分地了解二叉樹的生成、遍歷的步驟和方法,才能夠寫出相應的正確的代碼。4 .在不同環境下,應該注意區別不同語言之間的聯系與區別,否則可能會顯示出錯。5 .編寫代碼時要小心細致,即使是很小的錯誤對整個程序來說也可能會產生很大的影響。指導教師批閱:指標最高分評分要宗評分設計技術水平30程序的功能設計、數據結構設計及整體結構設計合理;程序運行情況良好,算法說明清晰,理論分析與計算正確,實驗數據無誤實際動手能力20熟練使用開發工具,能夠迅速準確的進行調試、糾錯和運行編程風格10良好的編程風格(縮進,注釋,變量名、函數名

溫馨提示

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

評論

0/150

提交評論