雙親表示法:用一組連續的儲存空間儲存樹的結點,同時在每個結點中,用乙個變數儲存該結點的雙親結點在陣列中的位置。(孩子少的時候)
結構:
typedef
char elemtype;
typedef
struct tnodetnode;
//結點資料型別
#define maxsize 100
typedef
struct
tree;
例項:
雙親表示法可以根據parent值找到該結點的雙親結點,時間複雜度為o(1)。
孩子表示法:把每個結點的孩子結點排列起來儲存成乙個單鏈表。所以n個結點就有n個鍊錶;如果是葉子結點,那這個結點的孩子單鏈表就是空的;然後n個單鏈表的頭指標又儲存在乙個順序表(陣列)中。
結構
typedef
char elemtype;
typedef
struct cnode cnode,
*child;
//孩子結點資料型別
typedef
struct
tnode;
//孩子結點資料結構型別
鄰接表:
#define maxszie 100
typedef
struct
tree;
//樹的孩子表示結構
孩子兄弟表示法:儲存孩子結點和兄弟結點,具體來說,就是要設定兩個指標,分別指向該結點的第乙個孩子結點和該結點的兄弟結點。
樹的儲存結構2 資料結構和演算法42
讓程式設計改變世界 change the world by program 我們這次換個角度來考慮,由於樹中每個結點可能有多棵子樹,可以考慮用多重鍊錶來實現。就像我們雖然有計畫生育,但我們還是無法確保每個家庭只養育乙個孩子的衝動,那麼對於子樹的不確定性也是如此。1.右圖中,樹的度為 2.如果我們用 ...
4 2串的順序儲存結構
定長順序串是將串設計成一種靜態結構型別,串的儲存分配是在編譯時完成的。與前面所講的線性表的順序儲存結構類似,可用一組位址連續的儲存單元儲存串的字串行。定長順序串型別定義如下 define maxlen 40 typedef struct sstring 其中 maxlen 表示串的最大長度,ch 是...
樹的儲存結構
樹的儲存結構 樹的存貯結構有多種表示方法,比較典型的乃是順序結構和鍊錶結構兩類。順序存貯結構即向量,一般將樹結點按自上而下,自左至右的順序一一存放。如前文所介紹的完全二叉樹就可以採用順序存貯結構。1.雙親鍊錶表示法 順序儲存結構常用的有雙親表示法,這種方法在每個陣列元素中存放某個結點資訊和該結點的雙...