




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、/*二叉樹*/#include #include #include #define size 100typedef char DataType;typedef struct node DataType data; struct node *lchild, *rchild;/左右孩子指針BinTNode;/結(jié)點類型typedef BinTNode *BinTree;/建立二叉樹void CreateBinTree(BinTree *T) char ch; if(ch=getchar()= ) printf(建立空節(jié)點n); *T=NULL; else *T=(BinTNode *)malloc(
2、sizeof(BinTNode); (*T)-data=ch; printf(建立節(jié)點 %c n, ch); CreateBinTree(&(*T)-lchild); CreateBinTree(&(*T)-rchild); /在序列中查找節(jié)點位置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); /先序遍歷二叉樹void Preorder(BinTree T) if(T) printf(%c , T-data); Preorder(T-lchild); Preorder(T-rchild); /中序遍歷二叉樹void Inor
6、der(BinTree T) if(T) Inorder(T-lchild); printf(%c , T-data); Inorder(T-rchild); /后序遍歷二叉樹void PostOrder(BinTree T) if(T) PostOrder(T-lchild); PostOrder(T-rchild); printf(%c , T-data); /求二叉樹旳深度(高度)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; /求二叉樹葉子節(jié)點數(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é)點個數(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前序遍歷二叉樹:); Preorder(root); puts(n中序遍歷二叉樹:); Inorder(root); puts(n后序遍歷二叉樹:); PostOrder(root); depth=GetDepth(root); printf(n二叉樹深度(高度)為:%d, depth); leafCount=GetLea
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司員工非競爭行為協(xié)議書
- 航空器材維護服務(wù)協(xié)議
- 關(guān)于調(diào)整辦公時間的內(nèi)部通知及后續(xù)措施安排
- 現(xiàn)代企業(yè)戰(zhàn)略管理知識要點梳理
- 故都的秋知識點梳理教案
- 工業(yè)設(shè)備采購及安裝協(xié)議條款書
- 運維流程管理培訓(xùn)
- 地產(chǎn)中介勞動合同協(xié)議書
- 定語從句的構(gòu)成與運用:高中高級英語語法課堂實錄
- 電源適配器行業(yè)相關(guān)投資計劃提議
- 2025年度事業(yè)單位招聘考試公共基礎(chǔ)知識模擬試卷及答案(共四套)
- 2024年海東市第二人民醫(yī)院自主招聘專業(yè)技術(shù)人員筆試真題
- 《計算機基礎(chǔ)與應(yīng)用(Office 和 WPS Office )》課件 項目二?計算機操作系統(tǒng)配置與應(yīng)用
- 2025年湖南電氣職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及參考答案
- 混凝土拌合站拌合運輸工程合同
- 機床操作與數(shù)控編程作業(yè)指導(dǎo)書
- 2025云南昆明空港投資開發(fā)集團招聘7人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級下冊第二單元百分?jǐn)?shù)(二)單元檢測(含答案)
- 湖北省武漢市江漢區(qū)2024-2025學(xué)年八年級(上)期末物理試卷(含解析)
- 《寄生蟲學(xué)檢驗》課件-結(jié)膜吸吮線蟲
- 探索商業(yè)保險與家庭醫(yī)生簽約服務(wù)的合作模式與前景
評論
0/150
提交評論