求二叉樹結(jié)點(diǎn)路徑.doc

求二叉樹結(jié)點(diǎn)路徑.doc

ID:55589543

大?。?9.00 KB

頁數(shù):4頁

時間:2020-05-19

求二叉樹結(jié)點(diǎn)路徑.doc_第1頁
求二叉樹結(jié)點(diǎn)路徑.doc_第2頁
求二叉樹結(jié)點(diǎn)路徑.doc_第3頁
求二叉樹結(jié)點(diǎn)路徑.doc_第4頁
資源描述:

《求二叉樹結(jié)點(diǎn)路徑.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、求二叉樹上結(jié)點(diǎn)的路徑要求在采用鏈?zhǔn)酱鎯Y(jié)構(gòu)存儲的二叉樹上。以T指向根節(jié)點(diǎn),p指向任一給定的結(jié)點(diǎn),編程實現(xiàn)如下功能:(1)建立一棵二叉樹存儲結(jié)構(gòu);(2)求二叉樹的前序遍歷序列;(3)求二叉樹的中序遍歷序列;(4)求二叉樹的后序遍歷序列;(5)求給定的結(jié)點(diǎn)的路徑。#include#include#include#include#defineNodeNum100typedefstructnode{chardata;str

2、uctnode*lchild,*rchild;}BTNode,*BTREE;voidVISIT(chare)//---------輸出語句{printf("%c",e);}voidBUILDBT(BTREE&T)//------利用前序遍歷構(gòu)建二叉樹{charch;scanf("%c",&ch);if(ch=='')T=NULL;else{T=(BTREE)malloc(sizeof(BTNode));T->data=ch;BUILDBT(T->lchild);BUILDBT(T->rchild

3、);}}voidPREORDER(BTREET)//------二叉樹的前序遍歷{if(T!=NULL){VISIT(T->data);PREORDER(T->lchild);PREORDER(T->rchild);}}voidINORDER(BTREET)//------二叉樹的中序遍歷{if(T!=NULL){INORDER(T->lchild);VISIT(T->data);INORDER(T->rchild);}}voidPOSTORDER(BTREET)//------二叉樹的后序遍歷

4、{if(T!=NULL){POSTORDER(T->lchild);POSTORDER(T->rchild);VISIT(T->data);}}voidAllPath(BTREET,charitem)//-----求得定路徑結(jié)點(diǎn){BTREESTACK1[NodeNum],p=T;charSTACK2[NodeNum],top=-1,flag;//----定義一個堆棧,保存所找到的結(jié)點(diǎn)if(T!=NULL&&T->data!=item)//-----假如所找的結(jié)點(diǎn)不是根結(jié)點(diǎn)do{while(p!=

5、NULL){STACK1[++top]=p;STACK2[top]=0;p=p->lchild;}p=STACK1[top];flag=STACK2[top--];if(flag==0){STACK1[++top]=p;STACK2[top]=1;p=p->rchild;}else{if(p->data==item){while(top!=-1)printf("%4c",STACK1[top--]->data);break;}elsep=NULL;}}while(!(p==NULL&&top==

6、-1));//------通過后序遍歷非遞歸算法循環(huán)語句實現(xiàn)查找}intmenuselect()//------主菜單顯示{intsn;cout<

7、"0退出學(xué)生信息管理系統(tǒng)"<>sn;if(sn<0

8、

9、sn>5)cout<<"輸入錯誤,請重新輸入"<

10、<>item;AllPath(T,item);b

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

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

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