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