二叉樹的儲存結構——順序儲存結構
阿新 • • 發佈:2021-10-15
二叉樹的儲存結構
① 順序儲存結構
② 鏈式儲存結構:二叉連結串列;三叉連結串列
二叉樹的順序儲存結構實現:按滿二叉樹的結點層次編號,依次存放二叉樹中的資料元素
儲存的型別定義:
// 二叉樹順序儲存表示 #define MAXTSIZE 100 // TElemType 這裡表示的型別,比如 int 型,String 型,都可以替換 Typedef TElemType SqBiTree[MAXTSIZE]; // 再用陣列的名字“SqBiTree”定義一個變數 SqBiTree bt;
補充:SqBiTree bt;相當於 TElemType bt[MAXTSIZE];
例:
解決思路:
二叉樹順序儲存的缺點:
① 一個數組的大小是固定的,如果元素個數變化極大,則不合適;
② 最壞情況,深度為 k 的且有 k 個結點的單支樹需要長度為 2^k - 1 的一維陣列
過於浪費空間。
特點:結點間的關係蘊含在其儲存位置中,浪費空間,適於存滿二叉樹和完全二叉樹