c#二叉樹存儲介紹
存儲結(jié)構(gòu)
二叉樹是一種特殊的樹,給個結(jié)點最多有兩個子節(jié)點,并且子節(jié)點有左右之分,并且兄弟,父親,孩子可以很方便的通過編號得到
1.在二叉樹的第i層上最多有2i-1個結(jié)點(i>=1)
2.深度為k的二叉樹至多有2i-1個結(jié)點
3.對于一個二叉樹,假設(shè)它有n個結(jié)點,對結(jié)點進(jìn)行從1開始編號,對任一結(jié)點i滿足下面
????a.它的雙親是節(jié)點i/2(除了i=1的情況)
? ? b.左孩子是2i,右孩子是2i+1
? ? c.如果2i>i說明無左孩子 2i+1>n說明無右孩子
二叉樹的遍歷
二叉樹的遍歷是指從根結(jié)點出發(fā),按照某種次序依次訪問二叉樹中的所有結(jié)點,使每個結(jié)點被訪問一次且僅被訪問一次
1.前序遍歷
先輸出當(dāng)前結(jié)點的數(shù)據(jù),再依次遍歷輸出左結(jié)點和右結(jié)點
2.中序遍歷
先遍歷輸出左結(jié)點,再輸出當(dāng)前結(jié)點的數(shù)據(jù),再遍歷輸出右結(jié)點
3.后序遍歷
先遍歷輸出左結(jié)點,再遍歷輸出右結(jié)點,最后輸出當(dāng)前結(jié)點的數(shù)據(jù)
4.層序遍歷
從樹的第一層開始,從上到下逐層遍歷,再同一層中,從左到右對結(jié)點逐個訪問輸出
以下代碼可以在c#中實現(xiàn)遍歷
到此這篇關(guān)于c#二叉樹存儲介紹的文章就介紹到這了,更多相關(guān)c#二叉樹存儲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#中關(guān)于double.ToString()的用法
這篇文章主要介紹了C#中關(guān)于double.ToString()的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02Visual Studio 2019配置vue項目的圖文教程詳解
這篇文章主要介紹了Visual Studio 2019配置vue項目的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作,具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03C# 使用鼠標(biāo)點擊對Chart控件實現(xiàn)數(shù)據(jù)提示效果
這篇文章主要介紹了C# 使用鼠標(biāo)點擊對Chart控件實現(xiàn)數(shù)據(jù)提示效果,文章給予上一篇的詳細(xì)內(nèi)容做延伸介紹,需要的小伙伴可任意參考一下2022-08-08Unity?UGUI的MaskableGraphic可遮罩圖形組件介紹使用
這篇文章主要為大家介紹了Unity?UGUI的MaskableGraphic可遮罩圖形組件介紹使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07Winform控件Picture實現(xiàn)圖片拖拽顯示效果
這篇文章主要為大家詳細(xì)介紹了Winform控件Picture實現(xiàn)圖片拖拽顯示效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09