資料結構 樹的實現

2021-07-30 15:06:37 字數 668 閱讀 5082

在做樹的遍歷的時候發現自己對實現樹的方法不太了解,也就是不知道怎麼把一棵樹的結構存到記憶體中,所以對樹的實現找了一些資料,自己也研究了一下。

首先,要想讓計算機正確的儲存你的「樹」,你要用一種和你**相匹配的輸入方式,我用的是採用廣義表表示的輸入法,例如:a(b(d,e),c(f,g))。

這個式子可以分為以下幾部分:

a(b,c): a是這個結構的根節點,b,c是a的兩個孩子。

a(b(d,e),c(f,g)):b,c分別是d、e和f、g的父節點。

a

/ \

b c

/ \ / \

d e f g

當用廣義表表示的方法輸入之後,就可以用下面的**來建立二叉樹:

void createbtree(struct btreenode** bt, char* string)

top++;

s[top] = p;

k = 1;

break;

}case

')':

top--;

break;

}case

',':k = 2;break;

default:}}

i++;

}}

資料結構 樹的實現(C語言)

1 樹的概念 樹形結構是節點之間以及分支關係定義的層次結構。作為一種重要的非線性結構,樹形結構中乙個節點最多只有乙個前驅節點,但是可以有多個後繼節點。2 樹的儲存結構 在計算機中,樹有多種的儲存方式,下面介紹一種動態的 左子 右兄 二叉鍊錶表示方法。include mytree.h include ...

資料結構 Java編碼實現樹

樹節點 public class treenode public void setleftnode treenode leftnode public void setrightnode treenode rightnode 前序遍歷 先取父節點,再去左子節點,右子節點 public void fro...

資料結構 樹

樹的概念 1.家族樹 在現實生活中,有入如下血統關係的家族可用樹形圖表示 張源有三個孩子張明 張亮和張麗 張明有兩個孩子張林和張維 張亮有三個孩子張平 張華和張群 張平有兩個孩子張晶和張磊。以上表示很像一棵倒畫的樹。其中 樹根 是張源,樹的 分支點 是張明 張亮和張平,該家族的其餘成員均是 樹葉 而...