树的基本概念: 根:树顶端的结点称为根。一棵树只有一个根; 父结点:结点的直接前驱结点。结点只能有一个父结点; 子结点:父结点的直接后继结点,一个父结点可以有多个子结点; 兄弟结点:拥有同一个父结点的结点; 叶子结点:没有子结点的结点; 路径:从一个结点到另一个结点的顺序排列叫“路径”; 层:一个结点的层数是指从根开始到这个结点,有多少“代”。加入根是第1层的后,后面依次类推; 结点度:是指每个结点拥有子结点的个数; 树度:一棵树种最大的结点度就是树的度; 高度或深度:一棵树种最大的层数被称为树的高度或深度; 祖先:由某结点X到根结点的路径上所有结点都是X的祖先。 二叉树:是树的一种,二叉树的结点最多只能有两个,因此,二叉树的结点度最大是二; 二叉树的定义: 1. 由有限的结点所构成的集合,此集合可以为空。 2. 二叉树的结点可以分为两棵子树,称“左子树”和“右子树”,同时左,右子树也是二叉树; 树和二叉树的比较: 1. 二叉树可以为空,树不可以(至少要有根结点) 2. 二叉树的子树有顺序关系,而树没有。 3. 二叉树的度必为0,1,2,而树的结点度可以大于2; 二叉树的特征: 1. 在二叉树的第i层上,最多有2i-1个结点(i≥1) 2. 高度为k的二叉树种,最多有2k-1个结点(k≥1) 满二叉树:一棵树有K层,那么这棵树必有2k-1个结点; 完全二叉树:除最大的那一层外,这个树是满二叉树,且最大层的结点均向左靠齐; 注意:满二叉树一定树完全二叉树,而完全二叉树不一定是满二叉树; 树结点语法: class Node { Node left; int data; Node right; 成员方法; } 想要一起探讨的同学们欢迎回复浏览全文
|