当前位置: 首页 > article >正文

【手撕数据结构】二叉树的性质

目录

  • 叶子节点和边的性质
    • 概念
    • 小试牛刀

叶子节点和边的性质

概念

在这里插入图片描述

  • 可以看到度为0的节点如F没有边,度为1的节点如C有一条边,而度为2的节点如B有两条边。
  • 那么设度为2的节点为a个,度为1的节点为b个。二叉树边 = 2a+b
  • 另⼀⽅⾯,由于共有 a+b+c 个节点,所以边数等于 a+b+c-1
  • 这里-1是因为:
    在这里插入图片描述
  • 综合上面两个公式,我们2a+b = a + b + c - 1; 推出c = a+1(c为度为0节点,a为度为2节点)
  • 所以叶子结点n0 = n2 + 1;

小试牛刀

在这里插入图片描述

  • 这道题已经告诉了我们度为2的节点个数,那么是不是直接可以用上面的公式n0 = n2 + 1.
  • 故答案为B

在这里插入图片描述

  • 节点个数n0+n1+n2,所以2n = n0+n1+n2 ,n0 = n2 + 1, 带入有:2n0+n1-1 = 2n
  • 在完全二叉树中,因为完全二叉树是从左到右依次存储,n1要么为0,要么为1
    在这里插入图片描述

在这里插入图片描述

  • n1 = 1时,n0 = n, n1 = 0时 , n0为分数。
  • 选A

在这里插入图片描述

  • 一颗完全二叉树的最大节点树为2^h - 1.
  • 一颗完全二叉树的第h层最大节点个数为2^(h-1)
  • 此时完全二叉树节点个树为531,2^10 = 1024
  • 在这里插入图片描述
  • 在h层,就要符合小于等于h层的最大节点个数。

http://www.kler.cn/a/294648.html

相关文章:

  • Android Framework AMS(16)进程管理
  • 文献解读-DNAscope: High accuracy small variant calling using machine learning
  • 【深度解析】CSS工程化全攻略(1)
  • 一文详解java的数据类型
  • 11Java面向对象高级(篇2,Java程序的核心套路!!!!)
  • react 中 FC 模块作用
  • 香橙派修改MAC
  • 【代码随想录训练营第42期 Day48打卡 - 单调栈 - LeetCode 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II
  • VitePress 自定义主题:打造专属文档网站
  • 了解elementUI的底层源码, 进行二次开发
  • 云服务器内网穿透连接云手机配置ALAS
  • OpenCV图像分割教程
  • P11019 「LAOI-6」[太阳]] 请使用最新版手机 QQ 体验新功能
  • 基于Spring的规则引擎EasyRule应用
  • 数据库系统 第42节 数据库索引简介
  • ACM打卡——快速幂求模
  • 你读文献的方式可能错了!掌握这些技巧,让阅读事半功倍!
  • java后端如何发送http请求
  • Java安全-动态加载字节码
  • 【Pytorch实用教程】tqdm的作用:在循环中显示进度条
  • Android 串口数据分包处理
  • 监控平台之rollup打包
  • 【MYSQL】
  • 最强虚拟机,内置强大插件,绝!
  • MES管理系统助力企业车间管理可视化
  • RK3566/RK3568 Android 11 无操作自动隐藏导航栏、底部上拉显示导航栏