


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、6、二叉樹(shù)的生成建立一個(gè)二叉樹(shù)是指在內(nèi)存中建立二叉樹(shù)的存儲(chǔ)結(jié)構(gòu), 這里討論建立一個(gè)二 叉鏈表的方式生成一個(gè)二叉樹(shù)。 要建立一個(gè)二叉鏈表, 需按照完全二叉樹(shù)的層次 順序,依次輸入結(jié)點(diǎn)信息建立二叉鏈表。 對(duì)于一般的二叉樹(shù), 必須添加一些虛結(jié) 點(diǎn),使其成為完全二叉樹(shù)。我用 表示虛結(jié)點(diǎn), #表示輸入結(jié)束標(biāo)志。同時(shí)設(shè)置一 個(gè)隊(duì)列,隊(duì)列是一個(gè)指針類型的數(shù)組, 保存已輸入的結(jié)點(diǎn)的地址。 根據(jù)對(duì)為指針 奇偶數(shù)的判斷, 來(lái)決定把字符放到左結(jié)點(diǎn)還是有結(jié)點(diǎn)中, 這樣就能生成想要的二 叉樹(shù)。#define maxsize 100#include “ stdio.h ”#include “ malloc.h ”#def
2、ine NULL 0typedef struct btnodechar data;struct btonde lchild,rchild;Btree;Btree*Qmaxsize;Btree*creatree()char ch;int front,rear;Btree *t,*s;t=NULL;front=1;rear=0;ch=getchar();while(ch!= '#')s=NULL;if(ch!= ' ')s=(btree*)mlloc(sizcof(btree);s->data=ch; s->lchild=NULL; s->rchi
3、ld=NULL; rear+;Qrear=s;if(rear=1)T=s;elseif(s&&Qfront)If(rear%2=0)Qfront->lchild=s;ElseQfront->rchild=s; if(rear%2=1)front+; ch=getchar(); returnT;二叉樹(shù)的遍歷上面雖然已經(jīng)生成二叉樹(shù),但實(shí)際上用戶生成的二叉樹(shù)是抽象,用戶并不太 確信已經(jīng)生成的二叉樹(shù)是否是自己想要的, 于是,可以編制輸出程序進(jìn)一步驗(yàn)證 這個(gè)已經(jīng)存在的二叉樹(shù)的正確性。二叉樹(shù)的遍歷就是對(duì)二叉樹(shù)的每一個(gè)結(jié)點(diǎn)訪問(wèn)一次且僅訪問(wèn)一次。 我們通過(guò) 二叉樹(shù)的序遍歷的非遞歸算
4、法來(lái)驗(yàn)證其正確性。 二叉樹(shù)非遞歸遍歷是用顯示棧來(lái) 存儲(chǔ)二叉樹(shù)的結(jié)點(diǎn)指針。1、先序遍歷 使用一個(gè)棧,首先將根結(jié)點(diǎn)入棧,開(kāi)始循環(huán);從棧中退出當(dāng)前結(jié)點(diǎn),先訪 問(wèn)它,然后將其右結(jié)點(diǎn)入棧,再將其左結(jié)點(diǎn)入棧,如此直到??諡橹?。Void porder(Btree*T) Btree*stackmaxsize,*p;int top=-1; if(T!=NULL)top+;stacktop=T; while(top>-1) p=stacktop;top-;prinft( “ %c”,p->data); if(p->right!=NULL)top+;stacktop=p->left;2、后序
5、遍歷 先將根結(jié)點(diǎn)的所有左結(jié)點(diǎn)并入棧,出棧一個(gè)結(jié)點(diǎn),將該結(jié)點(diǎn)的右結(jié)點(diǎn)入棧, 再將該結(jié)點(diǎn)的左結(jié)點(diǎn)入棧, 當(dāng)一個(gè)結(jié)點(diǎn)的左右子樹(shù)均訪問(wèn)該結(jié)點(diǎn), 如此,直到棧 空為止。void pmorder(Btree*T)Btree*stackmaxsize,*p;int top=-1;dowhile(T)top+;stacktop=T;T=T->left;p=NULL;flag=1;while(top!=-1 &&flag)T=stacktop;ift->right=pprintf( “ %c”,T->data);top+;p=T;elseT=T->right;flag=0;while(top!=-1);中序遍歷先將根結(jié)點(diǎn)的所有左結(jié)點(diǎn)并入棧 ,出棧一個(gè)結(jié)點(diǎn) ,訪問(wèn)該結(jié)點(diǎn) ,將該結(jié)點(diǎn)的右 結(jié)點(diǎn)入棧 ,再將該結(jié)點(diǎn)的左結(jié)點(diǎn)入棧 , 當(dāng)一個(gè)結(jié)點(diǎn)的左子樹(shù)均訪問(wèn)后再訪問(wèn)該結(jié) 點(diǎn),最后訪問(wèn)右結(jié)點(diǎn) . 如此,直到棧空為止。Void psorder(btree*T)Btree*stackmaxsize,*p;int top=-1;dowhile(T)top+;stacktop=T;T=T->left;T=stacktop;printf( “ %c”,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒中小學(xué)面試-2020年下半年教師資格證考試《幼兒結(jié)構(gòu)化面試》真題
- 2025年焙烤食品項(xiàng)目發(fā)展計(jì)劃
- 第十二課 小試身手-視頻剪輯的簡(jiǎn)單編輯 教學(xué)設(shè)計(jì) -2023-2024學(xué)年大連版(2015)初中信息技術(shù)七年級(jí)上冊(cè)
- 2025年河南工業(yè)和信息化職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)完整
- 2025年菏澤醫(yī)學(xué)??茖W(xué)校單招職業(yè)傾向性測(cè)試題庫(kù)匯編
- 2025年河南省焦作市單招職業(yè)傾向性測(cè)試題庫(kù)完整
- 2025年湖南吉利汽車職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)帶答案
- 2025至2030年中國(guó)止血貼數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 江西省吉安市2023-2024學(xué)年高三上學(xué)期期末考試地理試題(解析版)
- 2025年廣東省珠海市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案1套
- 二年級(jí)下冊(cè)科學(xué)教案-2.3科技產(chǎn)品體驗(yàn)會(huì) 大象版
- 退役軍人優(yōu)待證申領(lǐng)表
- Q∕SY 19001-2017 風(fēng)險(xiǎn)分類分級(jí)規(guī)范
- 勞務(wù)分包項(xiàng)目經(jīng)理崗位職責(zé)
- 幼兒繪本故事:奇怪的雨傘店
- 鋼琴基礎(chǔ)教程教案
- 糖基轉(zhuǎn)移酶和糖苷酶課件(PPT 111頁(yè))
- 屋面網(wǎng)架結(jié)構(gòu)液壓提升施工方案(50頁(yè))
- (語(yǔ)文A版)四年級(jí)語(yǔ)文下冊(cè)課件跳水 (2)
- 第6章向量空間ppt課件
- 醫(yī)療機(jī)構(gòu)聘用(返聘)證明
評(píng)論
0/150
提交評(píng)論