4 2樹的儲存結構

2021-09-26 09:08:44 字數 1049 閱讀 6883

雙親表示法:用一組連續的儲存空間儲存樹的結點,同時在每個結點中,用乙個變數儲存該結點的雙親結點在陣列中的位置。(孩子少的時候)

結構:

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.雙親鍊錶表示法 順序儲存結構常用的有雙親表示法,這種方法在每個陣列元素中存放某個結點資訊和該結點的雙...