版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C#實(shí)現(xiàn)二叉樹遍歷算法用C#2.0實(shí)現(xiàn)了二叉樹的定義,怎么構(gòu)造一顆已知的二叉樹,用幾種常規(guī)的算法(先序,中序,后序,層次)遍歷二叉樹。希望能給有需要人帶來(lái)幫助,也希望能得到大家的指點(diǎn)。有關(guān)C#數(shù)據(jù)結(jié)構(gòu)的書在書店里找到,網(wǎng)上也是極少,如果你有好的學(xué)習(xí)資源別忘了告訴我。先謝了。數(shù)據(jù)結(jié)構(gòu)對(duì)一個(gè)程序員來(lái)說(shuō),現(xiàn)在是太重要了,數(shù)據(jù)結(jié)構(gòu)學(xué)得好的人,邏輯思維一定很強(qiáng),在程序設(shè)計(jì)的時(shí)候,就不會(huì)覺(jué)得太費(fèi)勁了。而且是在設(shè)計(jì)多層應(yīng)用程序的時(shí)候,真是讓人絞盡腦汁啊。趁自己還年輕,趕緊練練腦子。哈哈,咱們盡快進(jìn)入主題吧。本程序中將用到一棵已知的二叉樹如圖(二叉樹圖)所示。下面簡(jiǎn)單介紹一下幾種算法和思路:先序遍歷:訪問(wèn)根結(jié)點(diǎn)按先序遍歷左子樹;按先序遍歷右子樹;4.例如:遍歷已知二叉樹結(jié)果為:A->B->D->G->H->C->E->F
中序遍歷:按中序遍歷左子樹;訪問(wèn)根結(jié)點(diǎn);按中序遍歷右子樹;例如遍歷已知二叉樹的結(jié)果:B->G->D->H->A->E->C->F后序遍歷:按后序遍歷左子樹;按后序遍歷右子樹;訪問(wèn)根結(jié)點(diǎn);例如遍歷已知二叉樹的結(jié)果:G->H->D->B->E->F->C->A層次遍歷:從上到下,從左到右遍歷二叉樹的各個(gè)結(jié)點(diǎn)(實(shí)現(xiàn)時(shí)需要借輔助容器);例如遍歷已知二叉樹的結(jié)果:A->B->C->D->E->F->G->H附加整個(gè)解決方案代碼:二叉遍歷算法解決方案usingSystem;usingSystem.Collections.Generic;
usingSystem.Text;namespacestructure二_“二_義〃二叉樹結(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)域,左右結(jié)點(diǎn)以及父結(jié)點(diǎn)成員;Tdata;nodes<T>Lnode,Rnode,Pnode;…set{data=value;}get{returndata;}…<5
S_alue;}set{Rnode=value;}:?set{Pnode=value;}publicnodes(){}publicnodes(Tdata)
…;-先序編歷二叉樹#region先序編歷二叉樹Console.WriteLine(rootNode.Data);PreOrdervT>(rootNode.LNode);—#endregion構(gòu)造一棵已知的二叉樹#region構(gòu)造一棵已知的二叉樹
staticnodesvstring>BinTree(){nodes<string>[]binTree=newnodesvstring>[8];〃創(chuàng)建結(jié)點(diǎn)binTree[0]=newnodesvstring>("A");binTree[1]=newnodes<string>("B");binTree[2]=newnodesvstring>("C");binTree[3]=newnodesvstring>("D");binTree[4]=newnodesvstring>("E");binTree[5]=newnodesvstring>("F");binTree[6]=newnodesvstring>("G");binTree[7]=newnodesvstring>("H");〃使用層次遍歷二叉樹的思想,構(gòu)造一個(gè)已知的二叉樹binTree[0].LNode=binTree[1];binTree[0].RNode=binTree[2];binTree[l].RNode=binTree[3];binTree[2].LNode=binTree[4];
binTree[2].RNode=binTree[5];binTree[3].LNode=binTree[6];binTree[3].RNode=binTree[7];〃返回二叉樹的根結(jié)點(diǎn):“"i#endregion中序遍歷二叉樹#region中序遍歷二叉樹MidOrdervT>(rootNode.LNode);Console.WriteLine(rootNode.Data);
#endregion后序遍歷二叉樹#region后序遍歷二叉樹staticvoidAfterOrdervT>(nodesvT>rootNode){if(rootNode!=null){AfterOrdervT>(rootNode.LNode);AfterOrdervT>(rootNode.RNode);Console.WriteLine(rootNode.Data);}}#endregion層次遍歷二叉樹#region層次遍歷二叉樹staticvoidLayerOrdervT>(nodesvT>rootNode){nodes<T>[]Nodes=newnodes<T>[20];intfront=-1;
intrear=-1;rear++;front++;rootNode=Nodes[front];Console.WriteLine(rootNode.Data);i_rear++;if(rootNode.RNode!=null)
rear++;Nodes[rear]=rootNode.RNode;}}}#endregion測(cè)試的主方法#region測(cè)試的主方法staticvoidMain(string[]args){nodes<string>rootNode=BinTree();Console.WriteLine(”先序遍歷方法遍歷二叉樹:");PreOrdervstring>(rootNode);Console.WriteLine(”中序遍歷方法遍歷二叉樹:");MidOrdervstring>(rootNode);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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國(guó)機(jī)械科學(xué)研究總院集團(tuán)限公司總部招聘5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年青海事業(yè)單位聯(lián)考考試筆試高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年江蘇南通市市政和園林局直屬事業(yè)單位招聘4人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年安徽當(dāng)涂縣事業(yè)單位招聘工作人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年吉林松原長(zhǎng)嶺縣公開招聘高校畢業(yè)生帶編入伍7人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上海煙草集團(tuán)限責(zé)任公司天津卷煙廠春季招聘41人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年黑龍江大慶市事業(yè)單位招聘工作人員257人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年四川省廣元市朝天區(qū)事業(yè)單位招聘26人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 屋頂隔熱泡沫混凝土施工合同
- 農(nóng)家樂(lè)環(huán)境保護(hù)與可持續(xù)發(fā)展辦法
- 《城鎮(zhèn)燃?xì)夤芾項(xiàng)l例》解讀
- 混凝土結(jié)構(gòu)設(shè)計(jì)原理課程設(shè)計(jì)
- 膜厚測(cè)試報(bào)告
- X62W萬(wàn)能銑床電氣原理圖解析(共18頁(yè))
- 減速器箱體工藝工裝設(shè)計(jì)說(shuō)明書(含圖紙)
- (完整版)中央空調(diào)現(xiàn)場(chǎng)勘察信息表
- 技術(shù)交底給水銅管道及配件安裝.
- 車間6s現(xiàn)場(chǎng)管理建議車間6S現(xiàn)場(chǎng)管理制度
- 實(shí)驗(yàn)動(dòng)物房改造項(xiàng)目設(shè)計(jì)淺談
- 國(guó)際商法考點(diǎn)期末考試
- 齒輪畫法圖基礎(chǔ)資料
評(píng)論
0/150
提交評(píng)論