java實(shí)現(xiàn)簡單的二叉樹 java中把數(shù)組以二叉樹形式打印出來?
java中把數(shù)組以二叉樹形式打印出來?您的意思是以數(shù)組的形式存儲二叉樹,這需要利用完全二叉樹的特性。完全二叉樹通常用數(shù)組代替鏈表進(jìn)行存儲,其存儲結(jié)構(gòu)如下:樹:數(shù)組[1.. n] 樹[i]的最長{n:i
java中把數(shù)組以二叉樹形式打印出來?
您的意思是以數(shù)組的形式存儲二叉樹,這需要利用完全二叉樹的特性。完全二叉樹通常用數(shù)組代替鏈表進(jìn)行存儲,其存儲結(jié)構(gòu)如下:樹:數(shù)組[1.. n] 樹[i]的最長{n:integer n>=1}具有以下特征:(1)如果i是奇數(shù)且i>為1,則樹的左兄弟是樹[i-1];[R(2)如果我是偶數(shù)并且我
導(dǎo)入java.util.LinkedList
public class LevelOrder
{
public void levelIterator(BiTree root)
{
if(root==null)
{
return
}
LinkedList<BiTree> queue=new LinkedList<BiTree>()
BiTree current=null隊(duì)列.報(bào)價(jià)(root)//對根進(jìn)行排隊(duì)節(jié)點(diǎn)
while(!queue.i空())
{
當(dāng)前=隊(duì)列.輪詢()//退出team head元素并訪問系統(tǒng)打印( 當(dāng)前值“-->”)
如果(當(dāng)前。左側(cè)! =null)//如果當(dāng)前節(jié)點(diǎn)的左節(jié)點(diǎn)不為空,則加入隊(duì)列
{隊(duì)列.報(bào)價(jià)( 當(dāng)前。左側(cè))
}
如果(當(dāng)前。右!=Null)//如果當(dāng)前節(jié)點(diǎn)的右節(jié)點(diǎn)不為空,則對右節(jié)點(diǎn)進(jìn)行排隊(duì)
{隊(duì)列.報(bào)價(jià)( 當(dāng)前。右)
}
}
}
}