樹和森林表示法

2021-06-21 10:07:06 字數 481 閱讀 7919

樹的三種常用鍊錶結構

1.雙親表示法

#define max_tree_size 100

typedef struct ptnodeptnode;

typedef structptree;

parent(t,x)尋找雙親結點在常量時間內完成。

2.孩子表示法

typedef struct ctnodectnode,*childptr;

typedef struct ctboxctbox;

typedef structctree;

可以結合雙親表示法和孩子表示法一起使用,在孩子表示法中,增加雙親域。

3.孩子兄弟表示法

typedef struct csnodecsnode,*cstree;

同樣也可以為其增加parent域。

森林與二叉樹的轉換:

轉換原則,把森林中第二棵樹的根節點看作是第一棵樹的根結點的兄弟,放置在其右子樹上。

資料結構 樹與森林 雙親表示法

以一組連續空間儲存結點,各結點附設指示器指示其雙親結點的位置 資料域加雙親下標域 首先是輔助巨集 define ok 1 define error 0 define true 1 define false 0 define overflow 1 define underflow 2 define n...

C語言實現實現樹和森林(孩子兄弟表示法)

因為樹和森林都可以與二叉樹相互轉化,所以採用二叉鍊錶的儲存方式表示樹和森林容易在計算機中實現 共有10個節點,則有11個空指標 fristchild指向該結點的第乙個孩子節點,nextsibling指向該結點的兄弟節點。雖然類似於二叉樹的左右孩子節點指標,但是功能不同 define elemtype...

樹的括號表示法

樹的括號表示法 時 限 1000 ms 記憶體限制 3000 k 總時限 3000 ms 描述 樹的括號表示法 先將根結點放入一對圓括號中,然後把它的子樹按由左而右的順序放入括號中,而對子樹也採用同樣方法處理 同層子樹與它的根結點用圓括號括起來,同層子樹之間用逗號隔開,最後用閉括號括起來。例如下圖可...