二叉樹的數組表示法 怎樣將完全二叉樹用數組表示?
怎樣將完全二叉樹用數組表示?定義:如果二叉樹的深度設置為h,則每層(1-h-1)中的節(jié)點數(除h層外)達到最大值,并且h層中的所有節(jié)點都連續(xù)地集中在最左側,這是一個完整的二叉樹。所以,第一行有1=2^
怎樣將完全二叉樹用數組表示?
定義:如果二叉樹的深度設置為h,則每層(1-h-1)中的節(jié)點數(除h層外)達到最大值,并且h層中的所有節(jié)點都連續(xù)地集中在最左側,這是一個完整的二叉樹。
所以,第一行有1=2^0,第二行有2=2^1,依此類推,第n行有2^(n-1)
那么總數是一個等比序列,前n行有2^n-1
很明顯,一維數組是按下標順序表示的,我們可以找到在完全二叉樹中的位置
假設數組從a[1]開始,例如a[25],25=15 10=(2^4-1)10,那么a[25]是第四個1=5行中的第10個數
你的意思是以數組的形式存儲二叉樹,這需要利用完全二叉樹的特性樹。完全二叉樹通常用數組代替鏈表進行存儲,其存儲結構如下:樹:數組[1.. n] 樹[i]的最長{n:integer n>=1}具有以下特點:(1)如果i是奇數且i>=1,則樹的左兄弟是樹[i-1];(R(2)如果i是偶數且i
java中把數組以二叉樹形式打印出來?
,則有多種創(chuàng)建方法??梢允褂面湵砗蛿到M。另外,您想創(chuàng)建一個數據結構還是一個真正的樹?如果是這樣,構造treenode{int data treenode*leftchild treenode*rightchild}這是一個樹。你設置了很多節(jié)點,然后讓左右兩個子節(jié)點指向你想要的。樹也是。