离散数学——树


本人是新人,对树的概念还是不太清楚,故写个学习概念的文章,来帮助自己学习树这一数据结构。


定义1.树是没有简单回路的连通无向图。
定理1.一个无向图是树当且仅当在它的每对顶点间存在唯一简单回路。
定义2.有根树是指一个顶点(指所有节点)作为根并且每条边的方向都离开根的树。
这里写图片描述
图片出处

关于孩子,父母与深度和高度什么的,用两张图就能解决的就不多赘述:
这里写图片描述
图片出处

图片出处

定义3.若有根树的每个内点(指除了叶之外的所有点)都有不超过m个孩子,则它为m叉树,若该树的每个内点都恰好有m个孩子,则称它为满m叉树。把m = 2的m叉树称为二叉树。

如第一幅图就是个二叉树。
下图就是个满二叉树:
这里写图片描述
图片出处

有序根树的每个内点的孩子都从左到右依次递增:
这里写图片描述
自己p的图

在有序二叉树中,左边的更小值称为左子,右边的较大值称为右子:
这里写图片描述
图片出处
注意,此树必须有序。

定理2.带有n个顶点的树含有n - 1条边。
定理3.带有i个内点的满m叉树含有n = m * i + 1个顶点。
ps:根是内点,除非它是图中唯一的顶点,在这种情况下,它也是叶。

定理4.一个满m叉树若有:
(i)n个顶点,则有i = (n-1) / m个内点和l = [(m-1) * n + 1] / m个叶;
(ii)i个内点,则有n = m * i + 1个顶点和l = (m-1) * i + 1个叶;
(iii)l个树叶,则有n = (m * l - 1) / (m - 1)个顶点和i = (l - 1) / (m - 1)个内点;

平衡m叉树:表示某树T的所有叶大约在同一层上(+-1):
这里写图片描述
图片出处
这就是一个平衡二叉树,因为它的所有叶都在2层与3层上。
同理一个满二叉树也是个平衡二叉树。

在m叉树中叶数的界:常常用到m叉树中叶树的上界。定理5用m叉树的高度给出了一个这样的界。

定理5.在高度为h的m叉树中最多有m^h个叶;

推论1.若一颗高度为h的m叉树带有l个叶,则h >= 向上取整logm(l)。若这棵树是满的和平衡的,则h = 向上取整logm(l)。

参考资料:
《离散数学及其应用(第七版)》

  • 22
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值