1.树的定义
树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。
2.树的基本术语
节点的度:一个节点含有的子树。 a的度是6
叶节点(终端节点):子树为0的节点。 B,H,I,P,Q,K,L,M,N都是叶节点
分支节点(非终端节点):子树不为0的节点。 A,D,E,F,G,J,都是分支节点
父节点(双亲节点):一个节点含有的子节点。该节点称为父节点。 A与B,A是父,B是子
树的高度(深度):从1开始算(为了避免空树的时候表示比较尴尬)。 这棵树的高度是5(空树用0表示)
节点的祖先:从它的父亲开始算(包括它父亲),都是它的祖先。Q的祖先是AEJ(包括J,它的父亲)
子孙:从它开始的下面的所有分支都是它的子树。A的子孙,下面的都是它的子孙。
森林:0个或多个不相交的树组成。对森林加上一个跟,森林即成为树;删去跟,树即成为森林。
删去A,则BCDEFG就是树,有A这这个就是一棵树。
3.二叉树节点的定义:
typedef int BTDataType
typedef struct BinaryTreeNode
{
BTDataType val;
struct BinaryTreeNode* left;
struct BinaryTreeNode* right;
}BTNode;
二叉树的作用:
搜索,查找