欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

二叉樹的存儲結(jié)構(gòu) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 技術(shù)分享 >

二叉樹的存儲結(jié)構(gòu)

發(fā)表時間:2020-10-18

發(fā)布人:葵宇科技

瀏覽次數(shù):54

 1)二叉樹的存儲存儲結(jié)構(gòu)

    用一組地址連續(xù)的存儲單元(一維數(shù)組)存儲二叉樹中的結(jié)點,必須把結(jié)點排成一個適當(dāng)?shù)木€性序列,并且結(jié)點在這個序列中的相互位置能反映出結(jié)點之間的邏輯頭系。
    對于深度為k完全二叉樹,除第k層外,其余各層中含有最大的結(jié)點數(shù),即每一層的結(jié)點數(shù)恰為其上一層結(jié)點數(shù)的兩倍。因此,從一個結(jié)點的編號可推知其雙親、左孩子和右孩子的編號。
    假設(shè)有編號為i的結(jié)點,則有:
    1.若i=1時,該結(jié)點為根結(jié)點,無雙親。
    2.若i>1時,該結(jié)點的雙親結(jié)點為[(i+1)/2]。
    3.若2i≤n,則該結(jié)點的左孩子編號為2i,否則無左孩子。
    4.若2i+1≤n,則該結(jié)點的右孩子編號為2i+1,否則無右孩子。
    完全二叉樹的順序存儲結(jié)構(gòu)。
    完全二叉樹采用順序存儲既簡單又節(jié)省空間,而一般的二叉樹則不宜用順序存儲結(jié)構(gòu),因為需要添加一些實際并不存在的虛結(jié)點將造成空間的浪費,在最壞情況下,一個深度為k且只有k個結(jié)點的二叉樹(單支樹)需要2k-1個存儲單元。
    (2)二叉樹的結(jié)點包含數(shù)據(jù)元素、左子樹的根、右子樹的根及雙親等信息,因此可以用三叉鏈表或二叉鏈表(即一個結(jié)點含有三個指針或兩個指針)來顧念二叉樹,鏈表的頭指針指向二叉樹的根結(jié)點。
  設(shè)結(jié)點中的數(shù)據(jù)元素為整型,則二叉鏈表的結(jié)點類型定義如下:
  typedef  struct  BiTnode
         int  data;
   在不同的顧念結(jié)構(gòu)中,實現(xiàn)二叉樹的遠(yuǎn)算方法是不同的。具體應(yīng)采用什么存儲結(jié)構(gòu),除了考慮二叉樹的形態(tài)外,還應(yīng)考慮需要進(jìn)行的運算特點。
 

相關(guān)案例查看更多