樹的儲存結構
1.雙親表示法
//結點結構
typedef
struct ptnodeptnode
//樹結構
#define max_tree_size 100
typedef
struct
ptree;
2.孩子鍊錶(找孩子容易,找雙親難)
//孩子結點結構
typedef
struct ctnode
*childptr;
//雙親節點結構
typedef
struct
ctbox;
//樹結構
typedef
struct
ctree
3.孩子兄弟表示法(二叉樹表示法,二叉鍊錶表示法)
用二叉鍊錶作樹的儲存結構,鍊錶中每個結點的兩個指標域分別指向其第乙個孩子結點和下乙個兄弟結點
typedef
struct csnodecsnode,
*cstree;
樹的遍歷(三種方式)
先根遍歷、後根遍歷、層次遍歷
森林的遍歷
先序遍歷、中序遍歷
資料結構 樹與森林 雙親表示法
以一組連續空間儲存結點,各結點附設指示器指示其雙親結點的位置 資料域加雙親下標域 首先是輔助巨集 define ok 1 define error 0 define true 1 define false 0 define overflow 1 define underflow 2 define n...
資料結構 樹和森林的遍歷方法
樹的遍歷 1 樹的遍歷的定義 以某種方式訪問樹中的每乙個結點,且僅訪問一次。樹的遍歷主要有先根遍歷和後根遍歷。2 1 先根遍歷 若樹非空,則先訪問根結點,再按照從左到右的順序遍歷根結點的每一棵子樹。這個訪問順序與這棵樹對應的二叉樹的先序遍歷順序相同。2 後根遍歷 若樹非空,則按照從左到右的順序遍歷根...
資料結構與演算法 樹
後序遍歷 已知前序和中序求後序 設計 的原則 1 有且僅有乙個根節點 2 所有的子樹也滿足該要求 子樹之間不能有交集 單個節點也是一棵樹 空樹 啥資料都沒有,沒有任何節點 根節點 父節點,子節點,兄弟節點 如果兩個節點的父節點雖不相同,但是它們的父節點處在同一層次上,那麼這兩個節點是兄弟節點 葉子節...