二叉樹(shù)用什么存儲(chǔ) 如何存儲(chǔ)一顆二叉樹(shù)?
如何存儲(chǔ)一顆二叉樹(shù)?1. 順序存儲(chǔ)結(jié)構(gòu)使用一組具有連續(xù)地址的存儲(chǔ)單元,從上到下、從左到右存儲(chǔ)完整二叉樹(shù)的節(jié)點(diǎn)元素。其他二叉樹(shù)與完全二叉樹(shù)的節(jié)點(diǎn)進(jìn)行比較,并存儲(chǔ)在一維數(shù)組的相應(yīng)分量中。2鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),如
如何存儲(chǔ)一顆二叉樹(shù)?
1. 順序存儲(chǔ)結(jié)構(gòu)使用一組具有連續(xù)地址的存儲(chǔ)單元,從上到下、從左到右存儲(chǔ)完整二叉樹(shù)的節(jié)點(diǎn)元素。其他二叉樹(shù)與完全二叉樹(shù)的節(jié)點(diǎn)進(jìn)行比較,并存儲(chǔ)在一維數(shù)組的相應(yīng)分量中。2鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),如二進(jìn)制列表、三叉戟列表、三線程二叉樹(shù)
~]。存儲(chǔ)結(jié)構(gòu)值為:假設(shè)節(jié)點(diǎn)在數(shù)組中的位置為I,則其左子位置為2I,右子位置為2i1。(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ì)你有所幫助。
怎么將二叉樹(shù)順序存儲(chǔ)結(jié)構(gòu)圖轉(zhuǎn)化為二叉樹(shù)結(jié)構(gòu)呢?
您的意思是以數(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