二叉樹實(shí)驗(yàn)報(bào)告_第1頁
二叉樹實(shí)驗(yàn)報(bào)告_第2頁
二叉樹實(shí)驗(yàn)報(bào)告_第3頁
二叉樹實(shí)驗(yàn)報(bào)告_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、二叉樹的創(chuàng)建與遍歷一、試驗(yàn)內(nèi)容 根據(jù)輸入的字符串創(chuàng)建樹或二叉樹,輸出樹或二叉樹的先序遍歷和后 序遍歷序列。二、運(yùn)行環(huán)境Visual C+三、需求分析1、建立一棵用二叉鏈表方式存儲(chǔ)的二叉樹。2、從鍵盤接受擴(kuò)展先序序列,以二叉鏈表作為存儲(chǔ)結(jié)構(gòu)。3、建立二叉樹,并將遍歷結(jié)果打印輸出。采用遞歸和非遞歸兩種 方法實(shí)現(xiàn)。四、設(shè)計(jì)概要/二叉樹的二叉鏈表存儲(chǔ)表示typedef struct BiTBodeTElemType data;Struct BiTNode *lchild, *rchild /左右孩子指針BiTNode, *BiTree;/基本操作的函數(shù)原型說明Status CreateBiTree(B

2、iTree &T); /按先序次序輸入二叉樹中結(jié)點(diǎn)的值(一個(gè)字符),空格字符表示空樹。/構(gòu)造二叉樹鏈表表示的二叉樹 T。Status PreOrderTraverse(BiTree T, status(*visit)(TElemType e);采用二叉鏈表存儲(chǔ)結(jié)構(gòu),visit是對(duì)結(jié)點(diǎn)操作的應(yīng)用函數(shù)。先序遍歷二叉樹T,對(duì)每個(gè)結(jié)點(diǎn)調(diào)用函數(shù)visit一次且僅以次。一旦visit ()失敗,則操作失敗。Status PostOrderTraverse(BiTree T, status(*visit)(TElemType e);采用二叉鏈表存儲(chǔ)結(jié)構(gòu),visit是對(duì)結(jié)點(diǎn)操作的應(yīng)用函數(shù)。后序遍歷二叉樹T,對(duì)

3、每個(gè)結(jié)點(diǎn)調(diào)用函數(shù)visit一次且僅以次。一旦visit ()失敗,則操作失敗。先序遍歷二叉樹基本操作的遞歸算法Status PreOrderTraverse(BiTree T,Status(*visit)(TElemType e)采用二叉鏈表存儲(chǔ)結(jié)構(gòu),visit是對(duì)數(shù)據(jù)元素操作的應(yīng)用函數(shù),/先序遍歷二叉樹 T 的遞歸算法,對(duì)每個(gè)數(shù)據(jù)元素調(diào)用函數(shù) visit。/最簡單的 visit 函數(shù)是:/ Status PrintElement(TElemType e) /輸出元素 e 的值/ printf(e);/實(shí)用時(shí),加上格式竄/ return OK;/ 調(diào)用實(shí)例:PreOrderTraverse(T

4、,PrintElement); if(T) if (visit(T-data)if(PreOrderTraverse(T-lchild,visit) if(PreOrderTraverse(T-rchild,visit) return OK;return ERROR;else return OK; /PreOrderTraverse五、源程序代碼#include#includetypedef struct BiTNode char data;struct BiTNode *lchild,*rchild; BiTNode,*BiTree;void CreatBiTree(BiTree &T) /

5、 先序創(chuàng)建二叉樹 char ch;if(ch=getchar()=n) T=NULL;else T=(BiTNode*)malloc(sizeof(BiTNode); if(!T) exit(1);T-data=ch;CreatBiTree(T-lchild);CreatBiTree(T-rchild);void PreTravel(BiTree &T) / 先序遍歷 if(T)printf(%c,T-data);PreTravel(T-lchild);PreTravel(T-rchild);void PostTravel(BiTree &T) / 后序遍歷if(T)PostTravel(T-lchild);PostTravel(T-rchild); printf(%c,T-data);void main() BiTree T;printf(請(qǐng)輸入字符串:n);CreatBiTree(T);printf (“先序遍歷序列:n);PreTravel(T);printf(n);printf (“后序遍歷序列:n);Po

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論