树与森林(一)

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:13   2084   0

一: 关于树的基本知识

咳咳~,今天我们一起学习

首先,它不长这样------->

也不是这样---------------->

当然,也不这样---------->

and ----------------------->

我们数据结构中的树形结构当然炫酷无比~ 蹡蹡~(骗你的(手动微笑,哈哈~))

言归正传:

-------------------------------相关定义--------------------------------------------

  • 树的定义树(Tree)是n(n>=0)个结点的有限集。(n = 0的树是空树。),其中每个结点本身又是一棵树,并且是根的子树
  • 结点的度结点拥有的子树数
  • 叶结点(终端结点):度为0的结点。
  • 分支结点 度不为0的结点。
  • 内部结点除根结点之外的分支结点。
  • 树的度树内各结点的度的最大值。
  • 结点的层次(Level)从根开始定义起,根为第一层,根的孩子为第二层。
  • 树的深度(高度)树中结点的最大层次。
  • 有序树如果将树中各结点的子树看成是从左至右有次序的,不能互换的,那么这个树就是有序树。否则,是无序树。
  • 森林(Forest):m(m>=0)棵互不相交的树的集合。对树中结点而言,其子树的集合,就是森林。

------------------------------------树的分类----------------------------------------

  • 二叉树:

特征:每个结点最多有两棵字树,即每个结点的度和树的度不大于2.

1.斜树:

2.满二叉树: 3.完全二叉树:

【注意区分后两者的区别】:

满二叉树除叶子结点外的所有结点均有两个子结点。节点数达到最大值,所有叶子结点必须在同一层上。

满二叉树的性质:

   1) 一颗树深度为h,最大层数为k,深度与最大层数相同,k=h;

  2) 叶子数为2^(h-1);

  3) 第k层的结点数是:2k-1;

   4) 总结点数是:2^(k-1),且总节点数一定是奇数。

完全二叉树若设二叉树的深度为h,除第 h 层外,其它各层 (1~(h-1)层) 的结点数都达到最大个数,第h层所有的 结点都连续集中在最左 边,这就是完全二叉树。

二叉树的性质:

1) 在非空二叉树中,第i层的结点总数不超过 2i-1, i>=1;

   2) 深度为h的二叉树最多有2^(h-1)个结点(h>=1),最少有h个结点;

   3) 对于任意一棵二叉树,如果其叶结点数为n0,而度数为2的结点总数为n2,则n0=n2+1;

   4) 具有n个结点的完全二叉树的深度为log2(n+1);

   5)有n个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系:

     若I为结点编号则 如果i>1,则其父结点的编号为i/2;

      如果2i<=n,则其左儿子(即左子树的根结点)的编号为2i;若2I>n,则无左儿子;

     如果2i+1<=n,则其右儿子的结点编号为2i+1;若2i+1>n,则无右儿子。

   6)给定n个节点,能构成h(n)种不同的二叉树,其中h(n)为卡特兰数的第n项,h(n)=C(2*n, n)/(n+1)。

   7)设有i个枝点,I为所有枝点的道路长度总和,J为叶的道路长度总和J=I+2i。

二:树与森林

https://blog.csdn.net/qq_38193883/article/details/99858074

  • 正经致谢:

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP