知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
二叉樹的存儲結(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)案例查看更多
相關(guān)閱讀
- 云南網(wǎng)站建設(shè)百度
- 網(wǎng)絡(luò)公司排名
- 云南軟件開發(fā)
- 網(wǎng)站建設(shè)案例
- 昆明網(wǎng)絡(luò)公司
- 紅河小程序開發(fā)
- 小程序被騙
- 云南建設(shè)廳官方網(wǎng)站
- 云南網(wǎng)站建設(shè)哪家公司好
- 網(wǎng)站建設(shè)開發(fā)
- 云南網(wǎng)站建設(shè)靠譜公司
- 跳轉(zhuǎn)小程序
- 微信小程序開發(fā)入門課程
- 網(wǎng)站開發(fā)哪家好
- 云南網(wǎng)站建設(shè)一條龍
- 小程序公司
- 出入小程序
- 重慶網(wǎng)站建設(shè)公司
- 報廢車拆解軟件
- 微信分銷系統(tǒng)
- 用戶登錄
- 分銷系統(tǒng)
- 報廢車拆解系統(tǒng)
- 江蘇小程序開發(fā)
- 汽車報廢軟件
- 小程序開發(fā)公司
- vue開發(fā)小程序
- 云南網(wǎng)站建設(shè)特性
- 云南百度小程序
- 報廢車回收管理軟件