數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三:二叉樹的應(yīng)用_第1頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三:二叉樹的應(yīng)用_第2頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三:二叉樹的應(yīng)用_第3頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三:二叉樹的應(yīng)用_第4頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)三:二叉樹的應(yīng)用_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)題目: 第三次實(shí)驗(yàn)二叉樹的應(yīng)用 姓名: 劉創(chuàng) 學(xué)號: 132054137 班級: 1320541 系名: 計(jì)算機(jī)工程系 專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 指導(dǎo)老師: 劉海靜 實(shí)驗(yàn)時(shí)間:2015年5月28日星期四 實(shí)驗(yàn)地點(diǎn): 軟件實(shí)驗(yàn)室 【實(shí)驗(yàn)概述】1.實(shí)驗(yàn)?zāi)康募耙竽康模赫莆斩鏄涞挠嘘P(guān)知識,存儲太原工業(yè)學(xué)院機(jī)構(gòu)圖要求:存儲二叉樹; 遍歷二叉樹 計(jì)算二叉樹的葉子,結(jié)點(diǎn)數(shù)數(shù)等2.實(shí)驗(yàn)原理二叉樹應(yīng)用原理3.實(shí)驗(yàn)環(huán)境(使用的軟件)VC+6.0/VS2013【實(shí)驗(yàn)內(nèi)容】1. 實(shí)驗(yàn)算法設(shè)計(jì)實(shí)驗(yàn):使用二叉樹存儲太原工業(yè)學(xué)院機(jī)構(gòu); 2. 實(shí)驗(yàn)過程(源代碼及描述、調(diào)試過程及分析)調(diào)試過程中,兩個(gè)實(shí)

2、驗(yàn)沒有出現(xiàn)太大的問題,理論聯(lián)系實(shí)際,多時(shí)間去實(shí)踐方可等心應(yīng)手。實(shí)驗(yàn)代碼: BinaryTree.cpp#include#include#includeusing namespace std;typedef char ElemType; /數(shù)據(jù)類型typedef struct TREEstruct TREE *lTree; /左子樹struct TREE *rTree; /右子樹 char data40; /數(shù)據(jù)聲明為字符數(shù)組Tree;void InitBinaryTree(Tree *tree); /初始化二叉樹void CreateBinaryTree(Tree *tree); /創(chuàng)建二叉樹

3、void PreTraverse(Tree *tree); /先序遍歷二叉樹int DepthTree(Tree *tree); /二叉樹深度函數(shù)int LeafsTree(Tree *tree); /葉子個(gè)數(shù)函數(shù)void InitBinaryTree(Tree *tree) /初始化二叉樹tree-lTree = NULL;/初始化數(shù)據(jù)tree-rTree = NULL;strcpy_s(tree-data, 0);void CreateBinaryTree(Tree *tree)/創(chuàng)建樹int n = 0, m = 0, i = 0;cout ;char Data20;cin Data;s

4、trcpy_s(tree-data, Data);cout data n;if (n = 1)Tree *lTree = (Tree*)malloc(sizeof(Tree);tree-lTree = lTree;lTree-lTree = NULL;lTree-rTree = NULL;CreateBinaryTree(tree-lTree);cout data i;if (i = 0);else if (i = 1)Tree *rTree = (Tree*)malloc(sizeof(Tree);tree-rTree = rTree;rTree-lTree = NULL;rTree-rTr

5、ee = NULL;CreateBinaryTree(tree-rTree);else if (n = 0)cout data m;if (m = 0);else if (m = 1)Tree *rTree = (Tree*)malloc(sizeof(Tree);tree-rTree = rTree;rTree-lTree = NULL;rTree-rTree = NULL;CreateBinaryTree(tree-rTree);void PreTraverse(Tree *tree) /先序遍歷二叉樹if (tree != NULL)cout data lTree != NULL)Pre

6、Traverse(tree-lTree);cout rTree);else if (tree-rTree != NULL)PreTraverse(tree-rTree);void InTraverse(Tree *tree)/中序遍歷遞歸if (tree != NULL)if (tree-lTree != NULL)InTraverse(tree-lTree);cout data rTree);cout rTree != NULL)cout data rTree);elsecout data lTree != NULL)PostTraverse(tree-lTree);PostTraverse

7、(tree-rTree);cout data rTree != NULL)PostTraverse(tree-rTree);cout data ;elsecout data lTree=NULL&tree-rTree=NULL) return 1;/葉子結(jié)點(diǎn)l = DepthTree(tree-lTree);r = DepthTree(tree-rTree);return (l = r ? l + 1 : r + 1);int LeafTree(Tree *tree)/葉子個(gè)數(shù)函數(shù)if (tree = NULL)return 0;else if (tree-lTree = NULL&tree-

8、rTree = NULL)return 1;return(LeafTree(tree-lTree) + LeafTree(tree-rTree);int main(int argc, char *argv)system(color 1b);Tree tree;InitBinaryTree(&tree); /初始化二叉樹cout 后輸入機(jī)構(gòu)的數(shù)據(jù)內(nèi)容n(請輸入機(jī)構(gòu)名稱,如:太原工業(yè)學(xué)院、計(jì)算機(jī)工程系、計(jì)科專業(yè)、班級等);CreateBinaryTree(&tree); /創(chuàng)建二叉樹cout 先序遍歷的結(jié)果為:n; PreTraverse(&tree); /先序遍歷二叉樹cout 中序遍歷的結(jié)果為:n;InTraverse(&tree); /中序遍歷遞歸cout 后序遍歷的結(jié)果為:n;PostTraverse(&tree); /后序遍歷遞歸cout n此二叉樹深度為: DepthTree(&tree);cou

溫馨提示

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

評論

0/150

提交評論