Gary Gong

1 minute read

二元樹與二元搜尋樹系列教學文目錄

02_BST_04 插入一個節點

我們需要使用動態記憶體配置,例如:malloc,去配製一個節點空間;要值得注意的是,配置時使用的 sizeof 引數為 struct bstNode 而非 struct bstNode *,若是使用後者,會配置到一個指標大小,而非 struct bstNode 的大小。

另外配置新節點時,除了寫入資料外,務必要將新節點的左右兩個節點指標位置重設為 NULL;在未來,我們有很多地方是需要使用 NULL 判斷是否已經達到葉節點(Leaf Node,也就是樹的尾巴)。

【部分程式碼】新節點的配置與引用

struct bstNode *newNode;
newNode = malloc(sizeof(struct bstNode));

preNode->rnode = newNode; // 假設 preNode 是基於 struct bstNode 架構下的一個節點。

newNode->lnode = NULL;
newNode->rnode = NULL;

也看看

二元樹基本架構 --- 二元樹與二元搜尋樹系列文章 01

二元搜尋樹的架構 --- 二元樹與二元搜尋樹系列文章 02

二元樹的節點架構 --- 二元樹與二元搜尋樹系列文章 03

Weather Research and Forecasting Model (WRF) Installation Guide on Ubuntu 16.04

Compiling TensorFlow-GPU on Ubuntu 16.04 with CUDA 9.1(9.2) and Python3

小工具的必要性與設計

KNUTH, MORRIS, PRATT (KMP) PATTERN MATCHING ALGORITHM

comments powered by Disqus