具有n个结点的完全二叉树的深度_python实现二叉树及其基本方法

本文介绍了二叉树的基本概念,包括其数学性质和完全二叉树的特征。具有n个结点的完全二叉树的深度可以通过公式log2(n+1)计算。此外,文章还探讨了满二叉树和完全二叉树的区别,并概述了二叉树的Python实现,包括节点和树对象的创建,以及未来将要添加的遍历方法。
摘要由CSDN通过智能技术生成

什么是二叉树:每个节点最多有两个子树的树结构,通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。

二叉树具备以下数学性质:

  • 在二叉树的第i层上至多有2^(i-1)个结点(i>0)
  • 深度为k的二叉树至多有2^k - 1个结点(k>0)
  • 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;
  • 具有n个结点的完全二叉树的深度必为 log2(n+1)
  • 对完全二叉树,若从上至下、从左至右编号,则编号为i 的结点,其左孩子编号必为2i,其右孩子编号必为2i+1;其双亲的编号必为i/2(i=1 时为根,除外)

两个子概念:

满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树

a6ca7dc474b0d4ca1a03f2b67893eb39.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值