什么是二叉树?树又是什么?
在自然界中树随处可见,而在Computer界可用其表示数据的一种结构搭建如下图所示:
字母部分为数据(即叶子)连接称边(树枝)——一个倒置树的形象;
树的数据结构概念简单归纳如下:
顶点vertex(v);边edge;根(root):最高顶点(本图为A);深度depth:每个节点v到树根r的唯一通路所经过边的数目记作depth(v)(depth(B)=1);层次:根据深度排序;高度height:树中所有节点深度的最大值,空树高度为-1,若此树为(T)可表示为height(T)=3;结点祖先ancestor:此结点通往树根沿途所经过的所有节点(F结点祖先B、A);后代descendent:可联通到此结点的所有下层节点(G结点后代K、L、M);父结点parent:联通此节点的上一层节点;孩子child:联通此节点的下一层结点;叶子leaf:无孩子的结点;度或度数degree:此节点孩子的总数(如degree(G)=3)。
二叉树定义:每个结点的度数均不超过2。
真二叉树:不含有1度结点的二叉树
如上图右边为真二叉树。