實(shí)驗(yàn)四 二叉樹的建立與遍歷.doc

實(shí)驗(yàn)四 二叉樹的建立與遍歷.doc

ID:56777217

大小:113.00 KB

頁數(shù):7頁

時(shí)間:2020-07-09

實(shí)驗(yàn)四 二叉樹的建立與遍歷.doc_第1頁
實(shí)驗(yàn)四 二叉樹的建立與遍歷.doc_第2頁
實(shí)驗(yàn)四 二叉樹的建立與遍歷.doc_第3頁
實(shí)驗(yàn)四 二叉樹的建立與遍歷.doc_第4頁
實(shí)驗(yàn)四 二叉樹的建立與遍歷.doc_第5頁
資源描述:

《實(shí)驗(yàn)四 二叉樹的建立與遍歷.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、實(shí)驗(yàn)四二叉樹的建立與遍歷【實(shí)驗(yàn)?zāi)康摹縧掌握二叉樹的定義、性質(zhì)及存儲(chǔ)方式,各種遍歷算法?!緦?shí)驗(yàn)內(nèi)容】1.采用二叉樹鏈表作為存儲(chǔ)結(jié)構(gòu),完成二叉樹的建立,先序、中序和后序遍歷的遞歸操作。2.分別求所有葉子結(jié)點(diǎn)及結(jié)點(diǎn)總數(shù)的操作。提示:設(shè)計(jì)一顆二叉樹,輸入完全二叉樹的先序序列,用#代表虛結(jié)點(diǎn)(空指針),如ABD###CE##F##,建立二叉樹,求出先序、中序和后序遍歷序列,求所有葉子及結(jié)點(diǎn)總數(shù)?!境绦蛟创a】#include#includetypedefcharTElemType;typedefintStatus;#defi

2、neOK1#defineERROR0#defineOVERFLOW0typedefstructBiTNode{TElemTypedata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;StatusCreateBiTree(BiTree&BT);voidCountLeaves(BiTreeBT,int&count);intNodeCount(BiTreeBT);voidPreOrder(BiTreeBT);voidInOrder(BiTreeBT);voidPostOrder(BiTreeBT);intmai

3、n(){BiTreeBT;intchoice,cho;intlogo=1;printf("輸入二叉樹結(jié)點(diǎn),以'#'為空指針");CreateBiTree(BT);do{printf("t1:遍歷二叉樹");printf("t2:二叉樹總結(jié)點(diǎn)數(shù)及葉子節(jié)點(diǎn)數(shù)");printf("t3:退出程序");printf("t輸入選項(xiàng):");scanf("%2d",&choice);switch(choice){case1:printf("1:先序遍歷");printf("2:中序遍歷");printf("3:后序遍歷");sca

4、nf("%2d",&cho);switch(cho){case1:PreOrder(BT);printf("");break;case2:InOrder(BT);printf("");break;case3:PostOrder(BT);printf("");break;default:printf("輸入錯(cuò)誤!");}break;case2:intcount;printf("總結(jié)點(diǎn)數(shù)為:%2d",NodeCount(BT));CountLeaves(BT,count);printf("葉子結(jié)點(diǎn)數(shù)為:%2d",count);bre

5、ak;case3:exit(0);break;default:printf("輸入錯(cuò)誤!");}}while(logo==1);return0;}StatusCreateBiTree(BiTree&BT){charch;scanf("%c",&ch);if(ch=='#')BT=NULL;else{if(!(BT=(BiTree)malloc(sizeof(BiTNode))))exit(OVERFLOW);BT->data=ch;CreateBiTree(BT->lchild);CreateBiTree(BT->rchild);}returnOK

6、;}voidPreOrder(BiTreeBT){if(BT!=NULL){printf("%c",BT->data);PreOrder(BT->lchild);PreOrder(BT->rchild);}}voidInOrder(BiTreeBT){if(BT!=NULL){PreOrder(BT->lchild);printf("%c",BT->data);PreOrder(BT->rchild);}}voidPostOrder(BiTreeBT){if(BT!=NULL){PreOrder(BT->lchild);PreOrder(BT->rch

7、ild);printf("%c",BT->data);}}voidCountLeaves(BiTreeBT,int&count){if(BT){if(!BT->lchild&&!BT->rchild)count++;CountLeaves(BT->lchild,count);CountLeaves(BT->rchild,count);}}intNodeCount(BiTreeBT)//統(tǒng)計(jì)總結(jié)點(diǎn)數(shù){if(BT==NULL)return0;elsereturn(NodeCount(BT->lchild)+NodeCount(BT->rchild)+1);

8、}【運(yùn)行結(jié)果分析】【實(shí)驗(yàn)收獲與心得】在本次實(shí)驗(yàn)中,我對(duì)遞歸這個(gè)概念有了較為深刻的認(rèn)識(shí),對(duì)二叉樹

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。