




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗題目建立一棵用二叉鏈表方式存儲的二
叉樹,并進行遍歷(先序、中序、后通工班內序號:學生姓名:一、 實驗目的掌握用二叉鏈表創建二叉樹;掌握對樹的遍歷,先序、中序、后序、層次,用遞歸和算法。二、 實驗內容從鍵盤接受輸入先序序列,以二叉鏈表作為存儲結構,建立二叉樹(以先序來建立)并對其進行遍歷(先序、中序、后序、層次),然后將遍歷結果打印輸出。要求采用遞歸和非遞歸兩種方法實現。例如:測試數據:ABC..DE.G.F…輸出結果:先序:ABCDEGF中序:CBEGDFA后序:CGBFDBA層次:ABCDEFG三、 數據結構及算法思想創建函數的思想:首先讀入當前根結點的數據,如果是'',則將當前樹根置為空,否則申請一個空結點,存入當前根結點的數據,分別用當前根結點的左子域和右子域進行遞歸調用,創建左右子樹。二叉樹的遍歷方法是:按某條搜索路徑巡訪樹中每個結點,使得每個結點均被訪問一次,而且僅被訪問一次的過程。根據訪問結點的順序分為先序遍歷、中序遍歷和后序遍歷先序遍歷:訪問根結點按先序遍歷左子樹;按先序遍歷右子樹;中序遍歷:按中序遍歷左子樹;訪問根結點;按中序遍歷右子樹;后序遍歷:按后序遍歷左子樹;按后序遍歷右子樹;訪問根結點;四、 模塊劃分對各個模塊進行功能的描述voidGreateBiTree(BiTree*bt)〃建立二叉樹voidPreOrder(BiTreeroot)//先序遍歷voidInOrder(BiTreeroot)//中序遍歷voidPostOrder(BiTreeroot)//后序遍歷模塊之間關系及其相互調用的,定義結構主函數先序遍歷中序遍歷后序遍歷該樹可以表示為:運用遞歸算法,以先序為例:五、詳細設計及運行結果程序設計及編碼,測試數據,運行結果測試數據:ABC..DE.G.F…輸出結果:先序:ABCDEGF中序:CBEGDFA后序:CGBFDBA層次:ABCDEFG六、調試情況,設計技巧及體會這次試驗讓我對二叉樹的遍歷有了很好的了解,對于先序,中序,后序和層次遍歷有了好的掌握。編寫代碼前,應簡單的畫一個二叉樹,先弄清算法思想,在開始編程,應先對于各個模塊進行設計,調試,消除錯誤,當所有模塊都設計完成后,選擇正確的變量把所有模塊連接在一起,程序就設計完成,這樣才不會出現太多的錯誤,編程完以后,出現錯誤要知道調試,以得到正確結果。附:代碼#include<stdio.h>#include<stdlib.h>#include<string.h>#defineStack_Size50#defineMAXSIZE50typedefstructNode{chardata;structNode*LChild;structNode*RChild;}BiTNode,*BiTree;voidGreateBiTree(BiTree*bt){charch;ch=getchar();if(ch=='')*bt二NULL;else{(*bt)=(BiTree)malloc(sizeof(BiTNode));(*bt)->data二ch;GreateBiTree(&((*bt)->LChild));GreateBiTree(&((*bt)->RChild));}}voidPreOrder(BiTreeroot){if(root!二NULL){printf("%c",root->data);PreOrder(root->LChild);PreOrder(root->RChild);}}voidInOrder(BiTreeroot){if(root!二NULL){InOrder(root->LChild);printf("%c",root->data);InOrder(root->RChild);}}voidPostOrder(BiTreeroot){if(root!二NULL){PostOrder(root->LChild);PostOrder(root->RChild);printf("%c",root->data);}}voidmain(){inti;BiTreeroot;printf("CreateBin_Tree;InputPreOrder:");GreateBiTree(&root);do{printf("\t**********select************\n");printf("\tl:PreOrderTraversal\n");printf("\t2:InOrderTraversal\n");printf("\t3:PostOrdertraversal\n");printf("\tO:Exit\n");printf("\t*******************************\n");scanf("%d",&i);switch(i){case1:printf("PrintBin_treePreOrder:");PreOrder(root);break;case2:printf("PrintBin_TreeInOrder:");InOrder(root);break;cas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水果代理銷售合同協議書
- 供應鏈方案設計
- 2025年新能源汽車輕量化的高強度鋁合金與碳纖維復合材料混合結構設計、制造工藝及應用與性能優化可行性研究報告
- 中山醫用智能設備項目商業計劃書模板
- 大學生快遞創業計劃書
- 寵物感染性疾病癥狀及治療
- 房產解除合同協議書樣本
- 當前我國雞病流行的新特點及防制策略
- 2025年納米碳酸鈣項目立項可行性報告
- 2025年法人離任述職報告范本(三)
- 水利工程施工監理規范SL288-2014(CB、JL用表全套)
- 建筑中級職稱《建筑工程管理》歷年考試真題題庫(含答案)
- DL∕T 707-2014 HS系列環錘式破碎機
- (正式版)JB∕T 14455-2024 土方機械 非公路自卸車 電傳動系統控制要求
- 費用組成-特殊施工增加費課件講解
- 2024年湖南省長沙市雅禮實驗中學中考二模考試英語試題
- 2023年八年級歷史下冊競賽試卷
- 國民經濟行業分類代碼表
- 2024年云南省中考歷史試卷(附答案)
- 2024-2029年中國無機涂料行業市場現狀供需分析及重點企業投資評估規劃分析研究報告
- 人工智能設計倫理智慧樹知到期末考試答案章節答案2024年浙江大學
評論
0/150
提交評論