树--树的基本性质(JAVA)
生活随笔
收集整理的這篇文章主要介紹了
树--树的基本性质(JAVA)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前幾篇文章介紹了圖的搜索算法,最短路徑算法,接下來介紹樹:
樹和圖
樹實際上就是不含回路的無向連通圖
雖然樹不連通,沒有回路了,但是這也使得樹這種數據結構有了更多的特性:
1.一棵樹中的任意兩個結點有且僅有唯一的一條路徑連通
2.一棵有n個結點的樹,那么它恰好有n-1條邊
3.在一棵樹中加入一條邊會構成一個回路
二叉樹與樹
二叉樹是每個節點最多有兩個子樹的樹結構
二叉樹的性質:
滿二叉樹:深度為h且有2^h-1個結點的二叉樹
(通俗來說:每個內部結點都有兩個兒子的二次樹)
完全二叉樹:深度為h,除h層,其他各層的結點數都達到最大數,第h層從右往左連續缺失若干結點的樹(通俗來說,最后一層,帶右子結點的,一定帶左子節點;反之不然)
完全二叉樹的位置關系:
堆與完全二叉樹
堆是一種特殊的完全二叉樹
大根堆:所有父結點都比子節點要大,這樣的完全二叉樹成為大根堆
小根堆:所有父結點都比子節點要小,這樣的完全二叉樹成為小根堆
總結
以上是生活随笔為你收集整理的树--树的基本性质(JAVA)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: request获取url的参数编码问题
- 下一篇: 抢火车票软件的教程