二叉樹用什么存儲(chǔ) 如何存儲(chǔ)一顆二叉樹?
如何存儲(chǔ)一顆二叉樹?1. 順序存儲(chǔ)結(jié)構(gòu)使用一組具有連續(xù)地址的存儲(chǔ)單元,從上到下、從左到右存儲(chǔ)完整二叉樹的節(jié)點(diǎn)元素。其他二叉樹與完全二叉樹的節(jié)點(diǎn)進(jìn)行比較,并存儲(chǔ)在一維數(shù)組的相應(yīng)分量中。2鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),如
如何存儲(chǔ)一顆二叉樹?
1. 順序存儲(chǔ)結(jié)構(gòu)使用一組具有連續(xù)地址的存儲(chǔ)單元,從上到下、從左到右存儲(chǔ)完整二叉樹的節(jié)點(diǎn)元素。其他二叉樹與完全二叉樹的節(jié)點(diǎn)進(jìn)行比較,并存儲(chǔ)在一維數(shù)組的相應(yīng)分量中。2鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),如二進(jìn)制列表、三叉戟列表、三線程二叉樹
~]。存儲(chǔ)結(jié)構(gòu)值為:假設(shè)節(jié)點(diǎn)在數(shù)組中的位置為I,則其左子位置為2I,右子位置為2i1。(I從1開始)。所以您只需要?jiǎng)?chuàng)建一個(gè)數(shù)組,從鏈?zhǔn)酱鎯?chǔ)的根節(jié)點(diǎn)開始,按中間順序遍歷樹,然后按中間順序存儲(chǔ)在數(shù)組中。這樣就可以改變順序存儲(chǔ)結(jié)構(gòu)。你可以查看相關(guān)的遍歷信息,按遍歷的順序即訪問的順序是左子根右子。希望能對你有所幫助。
怎么將二叉樹順序存儲(chǔ)結(jié)構(gòu)圖轉(zhuǎn)化為二叉樹結(jié)構(gòu)呢?
您的意思是以數(shù)組的形式存儲(chǔ)二叉樹,這需要利用完全二叉樹的特性。完全二叉樹通常用數(shù)組代替鏈表進(jìn)行存儲(chǔ),其存儲(chǔ)結(jié)構(gòu)如下:樹:數(shù)組[1.. n] 在樹[i]的最長{n:integer n>=1}中,它具有以下特征:(1)如果i是奇數(shù)且i>=1,則樹的左兄弟是樹[i-1];(2)如果i是偶數(shù)且i