隨便寫寫 資料結構 樹的儲存

2021-10-10 18:24:02 字數 1489 閱讀 4700

1)將二叉樹按完全二叉樹編號。

2)將二叉樹的結點按照編號順序儲存到一維陣列中

//前序遍歷

void

preorder

(int root,

char data)

return;}

//中序遍歷

void

inorder

(int root,

char data)

return;}

//後序遍歷

1)結點結構

其中,data:資料域,存放該結點的資料資訊;

lchild:左指標域,存放指向左孩子的指標;

rchild:右指標域,存放指向右孩子的指標。

2)二叉樹的建立

為了表示二叉樹中的邏輯關係,我們將二叉樹補充為原二叉樹的擴充套件二叉樹,如圖所示。

步驟:1.按擴充套件前序遍歷序列輸入結點的值

2.如果輸入結點值為「#」,則建立一棵空的子樹

3.否則,根結點申請空間,將輸入值寫入資料域中

4.以相同方法的建立根結點的左子樹

5.以相同的方法建立根結點的右子樹

方法一:

有返回值的函式進行建立

template

<

class

t>

bitree ::

bitree()

template

<

class

t>

binode

* bitree ::

creat()

return root

}

方法二:

無返回值的函式進行建立

template

<

class

t>

void bitree

::creat

(binode

*&root )

}

資料結構之樹的儲存結構

樹是一種一對多的資料結構,這個一對多很好解釋,就比如乙隻狗媽媽,會有多隻小奶狗,這不就有一對多的意思嗎!樹的根節點有且只有乙個,就比如小奶狗們只有乙個親狗媽。那麼圖上的 b c d e 都是樹的根節點 a 的孩子 總之,樹就是有很多結點構成,只不過這些結點在樹中會有不同的稱呼,來分析一下下圖 度 結...

《資料結構》樹的儲存結構2019 10 15

定義 1 只有乙個根結點 2 其餘結點為幾個不相交的有限集,他們本身也是一棵樹,且被稱為根的子樹。樹的定義就用到了遞迴的方法。幾個概念 結點的度 該結點擁有的子樹的數量 葉結點 度為0的結點 樹的度 結點度的最大值 層次 根結點為第一層,其孩子為第二層,以此類推。深度 結點的最大層數 高度 數量和深...

資料結構中的樹儲存結構

圖1 樹的示例 圖 1 a 是使用樹結構儲存的集合 的示意圖。對於資料 a 來說,和資料 b c d 有關係 對於資料 b 來說,和 e f 有關係。這就是 一對多 的關係。將具有 一對多 關係的集合中的資料元素按照圖 1 a 的形式進行儲存,整個儲存形狀在邏輯結構上看,類似於實際生活中倒著的樹 圖...