c語(yǔ)言二叉樹(shù) 如何將動(dòng)態(tài)二叉樹(shù)轉(zhuǎn)換為靜態(tài)二叉鏈表?
如何將動(dòng)態(tài)二叉樹(shù)轉(zhuǎn)換為靜態(tài)二叉鏈表?創(chuàng)建一個(gè)二叉樹(shù),分析動(dòng)態(tài)二叉樹(shù),并用靜態(tài)二叉表表示。在二叉樹(shù)的動(dòng)態(tài)二叉表結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)有三個(gè)字段:data、lchild和rchild。靜態(tài)二叉列表使用數(shù)組作為存
如何將動(dòng)態(tài)二叉樹(shù)轉(zhuǎn)換為靜態(tài)二叉鏈表?
創(chuàng)建一個(gè)二叉樹(shù),分析動(dòng)態(tài)二叉樹(shù),并用靜態(tài)二叉表表示。在二叉樹(shù)的動(dòng)態(tài)二叉表結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)有三個(gè)字段:data、lchild和rchild。靜態(tài)二叉列表使用數(shù)組作為存儲(chǔ)空間,每個(gè)數(shù)組元素存儲(chǔ)一個(gè)二叉樹(shù)節(jié)點(diǎn),并且還有三個(gè)字段:data、lchild、rchild。Lchild和rdhild分別用于存儲(chǔ)左、右子級(jí)的下標(biāo)。
怎么將二叉樹(shù)順序存儲(chǔ)結(jié)構(gòu)圖轉(zhuǎn)化為二叉樹(shù)結(jié)構(gòu)呢?
。存儲(chǔ)結(jié)構(gòu)值為:假設(shè)節(jié)點(diǎn)在數(shù)組中的位置為I,則其左子位置為2I,右子位置為2I 1。(I從1開(kāi)始)。所以您只需要?jiǎng)?chuàng)建一個(gè)數(shù)組,從鏈?zhǔn)酱鎯?chǔ)的根節(jié)點(diǎn)開(kāi)始,按中間順序遍歷樹(shù),然后按中間順序存儲(chǔ)在數(shù)組中。這樣就可以改變順序存儲(chǔ)結(jié)構(gòu)。你可以查看相關(guān)的遍歷信息,按遍歷的順序即訪問(wèn)的順序是左子根右子。希望能對(duì)你有所幫助。
java中把數(shù)組以二叉樹(shù)形式打印出來(lái)?
您的意思是以數(shù)組的形式存儲(chǔ)二叉樹(shù),這需要利用完全二叉樹(shù)的特性。完全二叉樹(shù)通常用數(shù)組代替鏈表進(jìn)行存儲(chǔ),其存儲(chǔ)結(jié)構(gòu)如下:樹(shù):數(shù)組[1.. n] 在樹(shù)[i]的最長(zhǎng){n:integer n>=1}中,它具有以下特征:(1)如果i是奇數(shù)且i>=1,則樹(shù)的左兄弟是樹(shù)[i-1];(2)如果i是偶數(shù)且i