1. 程式人生 > 其它 >二叉樹的儲存結構——順序儲存結構

二叉樹的儲存結構——順序儲存結構

二叉樹的儲存結構

① 順序儲存結構

② 鏈式儲存結構:二叉連結串列;三叉連結串列

二叉樹的順序儲存結構實現:按滿二叉樹的結點層次編號,依次存放二叉樹中的資料元素

儲存的型別定義:

// 二叉樹順序儲存表示
#define MAXTSIZE 100
// TElemType 這裡表示的型別,比如 int 型,String 型,都可以替換
Typedef TElemType SqBiTree[MAXTSIZE];
// 再用陣列的名字“SqBiTree”定義一個變數
SqBiTree bt;

補充:SqBiTree bt;相當於 TElemType bt[MAXTSIZE];

例:

解決思路:

二叉樹順序儲存的缺點:

① 一個數組的大小是固定的,如果元素個數變化極大,則不合適;

② 最壞情況,深度為 k 的且有 k 個結點的單支樹需要長度為 2^k - 1 的一維陣列

過於浪費空間。

特點:結點間的關係蘊含在其儲存位置中,浪費空間,適於存滿二叉樹和完全二叉樹