![淺談線索二叉樹_第1頁](http://file4.renrendoc.com/view5/M01/22/33/wKhkGGZCm6uAM04mAAMyvXWwSAM909.jpg)
![淺談線索二叉樹_第2頁](http://file4.renrendoc.com/view5/M01/22/33/wKhkGGZCm6uAM04mAAMyvXWwSAM9092.jpg)
![淺談線索二叉樹_第3頁](http://file4.renrendoc.com/view5/M01/22/33/wKhkGGZCm6uAM04mAAMyvXWwSAM9093.jpg)
![淺談線索二叉樹_第4頁](http://file4.renrendoc.com/view5/M01/22/33/wKhkGGZCm6uAM04mAAMyvXWwSAM9094.jpg)
![淺談線索二叉樹_第5頁](http://file4.renrendoc.com/view5/M01/22/33/wKhkGGZCm6uAM04mAAMyvXWwSAM9095.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
淺談線索二叉樹摘要:數(shù)據(jù)結(jié)構(gòu)中二叉樹有很多的遍歷算法,但本質(zhì)都是將屬性結(jié)構(gòu)轉(zhuǎn)換為線性序列,簡化問題。在遍歷序列中,每個節(jié)點都有自己的前驅(qū)和后去,但在二叉樹遍歷過程中尋求答案卻因為時間復(fù)雜度等因素使操作效率低下。線索二叉樹很好地解決了這一問題,本文是在二叉樹的基礎(chǔ)上加入線索二又樹實現(xiàn)數(shù)據(jù)的快速可操作性。關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);線索二叉樹;應(yīng)用前言為了實現(xiàn)在遍歷序列中快速查找節(jié)點的前驅(qū)、后繼,利用二叉鏈表中空的指針域,指向結(jié)點在遍歷序列中的前驅(qū)、后繼,這些指向前驅(qū)、后繼的指針就是線索。1、數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)起源于程序設(shè)計,主要是計算機中數(shù)據(jù)的組織方式、存儲結(jié)構(gòu)和處理方法。在程序的編程中,寫一個“好”的程序,就是要選擇一個合理的數(shù)據(jù)結(jié)構(gòu)和算法。數(shù)據(jù)的邏輯結(jié)構(gòu)常用結(jié)構(gòu)圖來描述,將每一個數(shù)據(jù)元素看做一個結(jié)點,在計算處理數(shù)據(jù)的時候,算法同樣很關(guān)鍵。一種算法的有窮性,必須對任何合法的輸入在執(zhí)行有窮之后結(jié)束,并且每1步都在有窮時間內(nèi)完成。樹形結(jié)構(gòu)就是用于有層次關(guān)系的數(shù)據(jù)表示,表達大多數(shù)問題求解的思路,而二叉樹的結(jié)點數(shù)和深度,為二叉樹存儲結(jié)構(gòu)的選擇提供了預(yù)備知識和思考線索。線索二又樹借助二又樹遍歷的程序框架建立,通過函數(shù)將整個二叉樹的線索化分解,求后繼、前驅(qū)結(jié)點的算法增加數(shù)據(jù)操作的效率,縮短時間,提高數(shù)據(jù)的操作性。2、樹的結(jié)構(gòu)定義樹形結(jié)構(gòu)是信息的重要組織形式之一,樹是一種數(shù)據(jù)結(jié)構(gòu),它是由n(n>=1)個有限結(jié)點組成一個具有層次關(guān)系的集合。把它叫做“樹”是因為它看起來像1棵倒掛的樹,也就是說它是根朝上,而葉朝下的。它具有以下的特點:(1)每個結(jié)點有零個或多個子結(jié)點;(2)每一個子結(jié)點只有一個父結(jié)點;(3)沒有前驅(qū)的結(jié)點為根結(jié)點;(4)除了根結(jié)點外,每個子結(jié)點可以分為多個不相交的子樹。樹的應(yīng)用非常廣泛,在程序設(shè)計中實現(xiàn)通用樹的基本功能需要考慮很多功能,比如內(nèi)存分配,添加節(jié)點,修改節(jié)點,刪除節(jié)點,移動節(jié)點,遍歷,查詢,保存,讀取問題。STL提供了豐富容器,非常遺憾地是沒有提供樹。不過使用STL可以非常方便地實現(xiàn)1棵通用樹,完全可以避免直接使用內(nèi)存分配函數(shù)和遍歷釋放內(nèi)存。3、線索二又樹的實現(xiàn)和建立運用Vc++編寫一個程序?qū)崿F(xiàn)前序線索二叉樹、中序線索二叉樹和后序線索二叉樹,其中遍歷要求用先左后右的遞歸或非遞歸算法來實現(xiàn),通過線索二叉樹提高數(shù)據(jù)操作效率。線索二叉樹建立與中序遍歷的c語言實現(xiàn)程序如下:#include<stdio.h>#include<malloc.h>Typedefenum{Link,Thread}PointerTag;//指針標志typedefintDataType;typedefstructBiThreTreef//定義結(jié)點元素PointerTagLTag,RTag;DataTypedata;struetBiThreTree*lehild,*rchild;}BiThreTree;BiThreTree*pre;//全局變量,用于二叉樹的線索化BiThre-Tree*CreateTree()//按前序輸入建立二叉樹{BiThreTree*T:DataTypee:Scanf(“%d”,&e);If(e==0)T=NULL;Else{T=(BiThreTree*)malloc(sizeof(BiThreTree));T->data=e;T->LTag=Link;//初始化時指針標志均為LinkT->RTag=Link;T->lchild=CreateTree();T->rchild=CreateTree();}returnT:}voidInThread(BiThreTree*T){BiThreTree*p;p=T;if(p){InThread(p->lchild);if(!p->lchild){p->LTag=Thread;p->lchild=pre;}if(!pre->rehild){pre->RTag=Thread;pre->rchild=p;}Pre=p;InThread(p->rehild);}}BiThreTree*InOrderThrTree(BiThreTree*T)//中序線索化二叉樹{BiThreTree*Thre;//Thre為頭結(jié)點的指針Thre=(BiThreTree)malloc(sizeof(BiThreTree));對與數(shù)據(jù)線索二叉樹的插征和性能進行了一個籠統(tǒng)的分析,線索二叉樹通過設(shè)置Ltag,Rtag標志,并事先線索化來提高整個二叉樹的遍歷速度,是個典型的通過犧牲空間來提升速度例子。但是二叉樹到底在空間與速度的博弈中占著怎樣的地位,發(fā)生著怎樣的功能,在實際的應(yīng)用中空間值不值得需要深入地研究。以上如有不當(dāng)之處,還懇請大家指正。參考文獻:[1]吉根林林波數(shù)據(jù)結(jié)構(gòu)教程(c++版)[MJ.北京:電
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融租賃居間合同模板
- 始興縣中醫(yī)院特殊用房設(shè)施設(shè)備采購及安裝及醫(yī)療設(shè)備采購項目招標文件
- 終止合同退款協(xié)議
- 未維修事故車買賣合同協(xié)議書
- 企業(yè)人才培養(yǎng)與發(fā)展作業(yè)指導(dǎo)書
- 質(zhì)押礦產(chǎn)權(quán)收益權(quán)擔(dān)保協(xié)議書
- 養(yǎng)雞業(yè)養(yǎng)殖技術(shù)手冊
- 庫房轉(zhuǎn)租合同
- 智能倉儲標準化管理與供應(yīng)鏈優(yōu)化項目實踐
- 焊接結(jié)構(gòu)分析與優(yōu)化作業(yè)指導(dǎo)書
- 校本課程《生活中的化學(xué)》教案
- 寶典三猿金錢錄
- 安徽凌瑋新材料科技有限公司年產(chǎn)2萬噸超細二氧化硅氣凝膠系列產(chǎn)品項目環(huán)境影響報告書
- 聚合物粘彈性
- 建筑工程施工現(xiàn)場安全資料管理規(guī)程解讀
- 華銀鋁項目氧化鋁系統(tǒng)總體投料試車方案
- 2023年衛(wèi)生院崗位大練兵大比武競賽活動實施方案
- 2023年浙江省初中學(xué)生化學(xué)競賽初賽試卷
- 遼海版小學(xué)五年級美術(shù)下冊全套課件
- 專題7閱讀理解之文化藝術(shù)類-備戰(zhàn)205高考英語6年真題分項版精解精析原卷
- 2022年廣東省10月自考藝術(shù)概論00504試題及答案
評論
0/150
提交評論