树:树、二叉树、森林基本定义

来源:互联网 发布:淘宝网卖家中心官网 编辑:程序博客网 时间:2024/05/20 13:08

这里写图片描述

树和二叉树的区别:

1)树中结点的最大度数没有限制,而二叉树结点的最大度数为2;
2)树的结点无左、右之分,而二叉树的结点有左、右之分。

二叉树,树,森林之前遍历对比:

二叉树 树 森林 先序遍历 先根遍历 先序遍历 中序遍历 后序遍历 后根遍历 中序遍历

相关术语:

树的结点:包含一个数据元素及若干指向子树的分支;
孩子结点:结点的子树的根称为该结点的孩子;
双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲;
兄弟结点:同一双亲的孩子结点; 堂兄结点:同一层上结点;
祖先结点: 从根到该结点的所经分支上的所有结点子孙结点:以某结点为根的子树中任一结点都称为该结点的子孙
结点层:根结点的层定义为1;根的孩子为第二层结点,依此类推;
树的深度:树中最大的结点层(第一层根节点深度为1)
树的宽度:具有最多结点数的层中包含的结点数。
树的高度:从叶节点开始(其高度为1)自底向上逐层累加的
结点的度:结点子树的个数
树的度: 树中最大的结点度。
叶子结点:也叫终端结点,是度为 0 的结点;
分枝结点:度不为0的结点;
有序树:子树有序的树,如:家族树;
无序树:不考虑子树的顺序;

二叉树的基本形态

二叉树也是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态:

(1)空二叉树——(a);
(2)只有一个根结点的二叉树——(b);
(3)只有右子树——(c);
(4)只有左子树——(d);
(5)完全二叉树——(e);
二叉树五中基本形态

二叉树的性质

这里写图片描述
(1) 在二叉树中,第i层的结点总数不超过2i1
(2) 深度为h的二叉树最多有2h1个结点(h>=1),最少有h个结点;
(3)具有n个结点的完全二叉树的深度为 log2(n+1)
(例如:树的最大层次就是深度,比如上图,深度是4。很容易得出,深度为k的树,拥有的最大结点数是 log2(n+1)。)

1,满二叉树

除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(最后一层上的无子结点的结点为叶子结点)。也可以这样理解,除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点必须在同一层上.

2,完全二叉树

若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。
  完全二叉树是由满二叉树而引出来的。对于深度为K的,有N个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。
  若一棵二叉树至多只有最下面的两层上的结点的度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上,则此二叉树成为完全二叉树。