【Algorithm】樹結構整理

Bonstoppo發表於2019-05-02

一、樹的一些基本概念

結點: 樹上的那些點,被稱為結點。
深度: 從根節點(深度為1)開始,自頂向下數數。
高度: 從底層結點(高度為1)開始,自底向上數數。
子樹: 以此結點為根節點,往下的形成的樹被稱為子樹。
層: 聯合深度。有點類似下樓梯,往下一級就是一層。
度: 子樹的棵樹成為度,樹的度是指 MAX{All Node}。
滿二叉樹: 該有孩子的結點,每結點的度都達到樹的度。
完全二叉樹: 除了最後一層以外,所有的層都達到了樹的度。
兄弟,父結點,子結點,祖先結點: 同層之間成為兄弟;上一層成為父節點;下一層成為子節點;樹的根成為祖先結點。

二、二叉樹的儲存結構與基本操作(二叉樹的靜態實現)

1.二叉樹的儲存結構

對於結點Node的定義:

struct node{
     typename data;
     node* lchild;
     node* rchild;
}Node[MAXN];

插入操作:

int index = 0;
int newNode(int v){
    Node[index].data = v;
    Node[index].lchild = -1;
    Node[index].rchild = -1;
    reutrn index ++;
}

相關文章