版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、/*二叉樹(shù)*/#include #include #include #define size 100typedef char DataType;typedef struct node DataType data; struct node *lchild, *rchild;/左右孩子指針BinTNode;/結(jié)點(diǎn)類(lèi)型typedef BinTNode *BinTree;/建立二叉樹(shù)void CreateBinTree(BinTree *T) char ch; if(ch=getchar()= ) printf(建立空節(jié)點(diǎn)n); *T=NULL; else *T=(BinTNode *)malloc(
2、sizeof(BinTNode); (*T)-data=ch; printf(建立節(jié)點(diǎn) %c n, ch); CreateBinTree(&(*T)-lchild); CreateBinTree(&(*T)-rchild); /在序列中查找節(jié)點(diǎn)位置int Search(char array, char c) int i=0; while(arrayi!=c & arrayi) i+; if(arrayi=c) return i; else return -1; /基于先序和中序序列旳構(gòu)造算法void CreateBinTree2(BinTree *T, char pre, char ino,
3、int ps, int is, int n) int k; if(n=0) *T=NULL; else k=Search(ino, preps); if(k=-1) puts(Errorn); else *T=(BinTNode *)malloc(sizeof(BinTNode); (*T)-data=preps; if(k=is) (*T)-lchild=NULL; else CreateBinTree2(&(*T)-lchild, pre, ino, ps+1, is, k-is); if(k=is+n-1) (*T)-rchild=NULL; else CreateBinTree2(&(
4、*T)-rchild, pre, ino, ps+1+(k-is), k+1, n-(k-is)-1); /基于中序和后序序列旳構(gòu)造算法void CreateBinTree3(BinTree *T, char ino, char post, int is, int ps, int n) int k; if(n=0) *T=NULL; else k=Search(ino, postps+n-1); if(k=-1) puts(Error!n); else *T=(BinTNode *)malloc(sizeof(BinTNode); (*T)-data=postps+n-1; if(k=is)
5、(*T)-lchild=NULL; else CreateBinTree3(&(*T)-lchild, ino, post, is, ps, k-is); if(k=is+n-1) (*T)-rchild=NULL; else CreateBinTree3(&(*T)-rchild, ino, post, k+1, ps+(k-is), n-(k-is)-1); /先序遍歷二叉樹(shù)void Preorder(BinTree T) if(T) printf(%c , T-data); Preorder(T-lchild); Preorder(T-rchild); /中序遍歷二叉樹(shù)void Inor
6、der(BinTree T) if(T) Inorder(T-lchild); printf(%c , T-data); Inorder(T-rchild); /后序遍歷二叉樹(shù)void PostOrder(BinTree T) if(T) PostOrder(T-lchild); PostOrder(T-rchild); printf(%c , T-data); /求二叉樹(shù)旳深度(高度)int GetDepth(BinTree T) int ld, rd; if(!T) return 0; else ld=GetDepth(T-lchild); rd=GetDepth(T-rchild); r
7、eturn ld rd ? ld+1 : rd+1; /求二叉樹(shù)葉子節(jié)點(diǎn)數(shù)int GetLeafCount(BinTree T) int count; if(T=NULL) count=0; else if(T-lchild=NULL) & (T-rchild=NULL) count=1; else count = GetLeafCount(T-lchild) + GetLeafCount(T-rchild); return count;/求度為1旳節(jié)點(diǎn)個(gè)數(shù)int GetOneDegreeLeaf(BinTree T) int count; if(T=NULL) count=0; else i
8、f(T-lchild=NULL) & (T-rchild!=NULL) count=1; else if(T-lchild!=NULL) & (T-rchild=NULL) count=1; else count = GetOneDegreeLeaf(T-lchild) + GetOneDegreeLeaf(T-rchild); return count;void main() int depth, leafCount, oneDegreeLeafCount; char pre20, ino20, post20; BinTree root=NULL; /puts(輸入前序序列:); /gets
9、(pre); puts(輸入中序序列:); gets(ino); puts(輸入后序序列:); gets(post); /CreateBinTree(&root); /CreateBinTree2(&root, pre, ino, 0, 0, 6); CreateBinTree3(&root, ino, post, 0, 0, 11); puts(n前序遍歷二叉樹(shù):); Preorder(root); puts(n中序遍歷二叉樹(shù):); Inorder(root); puts(n后序遍歷二叉樹(shù):); PostOrder(root); depth=GetDepth(root); printf(n二叉樹(shù)深度(高度)為:%d, depth); leafCount=GetLea
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人企業(yè)經(jīng)營(yíng)周轉(zhuǎn)貸款抵押合同模板2篇
- 二零二五年度綠色生態(tài)農(nóng)業(yè)項(xiàng)目合同書(shū)4篇
- 2025年度個(gè)人抵押車(chē)借款數(shù)據(jù)安全保密合同
- 2025年度農(nóng)業(yè)廢棄物資源化利用技術(shù)服務(wù)合同8篇
- 2025年度噴砂機(jī)銷(xiāo)售與產(chǎn)業(yè)升級(jí)合作合同4篇
- 課題申報(bào)參考:面向深度學(xué)習(xí)雙向調(diào)節(jié)學(xué)習(xí)困惑:聚焦多模態(tài)診斷與調(diào)節(jié)支架設(shè)計(jì)的研究
- 2025年度家庭影院定制裝修服務(wù)合同范本
- 2025版智能爬架租賃與維護(hù)一體化服務(wù)合同4篇
- 2025年建筑工程流動(dòng)資金借款合同終止條款3篇
- 2025年度新型斷橋門(mén)窗安裝與節(jié)能改造合同4篇
- 2024年山東省泰安市高考語(yǔ)文一模試卷
- 五年級(jí)上冊(cè)計(jì)算題大全1000題帶答案
- 工程建設(shè)行業(yè)標(biāo)準(zhǔn)內(nèi)置保溫現(xiàn)澆混凝土復(fù)合剪力墻技術(shù)規(guī)程
- 北師大版物理九年級(jí)全一冊(cè)課件
- 2024年第三師圖木舒克市市場(chǎng)監(jiān)督管理局招錄2人《行政職業(yè)能力測(cè)驗(yàn)》高頻考點(diǎn)、難點(diǎn)(含詳細(xì)答案)
- RFJ 006-2021 RFP型人防過(guò)濾吸收器制造與驗(yàn)收規(guī)范(暫行)
- 盆腔炎教學(xué)查房課件
- 新概念英語(yǔ)課件NCE3-lesson15(共34張)
- GB/T 3683-2023橡膠軟管及軟管組合件油基或水基流體適用的鋼絲編織增強(qiáng)液壓型規(guī)范
- 電視劇《瑯琊榜》特色分析
- 5A+Chapter+1+Changes+at+home+課件(新思維小學(xué)英語(yǔ))
評(píng)論
0/150
提交評(píng)論