二叉树

binaryTree

  • 节点度最大为2 ,可以为空
  • 左子树和右子树有序
  • 某节点只有一棵子树,区分左右子树

二叉树的性质:

  • 非空二叉树的第i层,最多有 2^(i-1) 个节点 (i>=1)
  • 高度为h的二叉树,最多总共有2^h-1个节点 (h>=1)
  • 对于任何一棵非空二叉树,如果叶子节点个数为 n0,度为2 的节点个数为 n2,则有:n0 = n2 +1
    • 推理:

      • 假设度为 1 的节点个数为 n1,那么二叉树的节点总数 n = n0 + n1 + n2
      • 二叉树的边数T= n1+ 2* n2 = n -1 = no + n1 + n2-1
        • 度为1的节点有一条边,度为2的节点有两条边,叶子结点没有边
        • 边的个数为总节点数减一

真二叉树:

  • 所有的节点的度要不是0,要不是2

满二叉树:

  • 所有节点的度都要么为0,要么为2。且所有的叶子节点都在最后一层

满二叉树一定是真二叉树,反之不一定

完全二叉树

  • 叶子节点只会出现最后 2层,且最后 1 层的叶子结点都靠左对齐
  • 完全二叉树从根结点至倒数第 2层是一棵满二叉树
  • 度为1 的节点只有左子树
  • 度为 1 的节点要么是1个,要么是0个
  • 同样节点数量的二叉树,完全二叉树的高度最小

一些性质

  • 一棵有 n 个节点的完全二叉树(n > 0),从上到下、从左到右对节点从 1 开始进行编号,对任意第i个节点

    • 如果i=1,它是根节点
    • 如果i>1,它的父节点编号为 floor(i / 2)
    • 如果 2i≤ n, 它的左子节点编号为 2i
    • 2i>n: 就没有左子节点
    • 同理拥有2i+1的右子节点结论

二叉树的基本原理和性质(初学必看)相关推荐

  1. 【人工智能“六步走”学习路线】(初学必看)

    [人工智能"六步走"学习路线](初学必看) 学习笔记第三篇 1.学习并掌握一些数学知识 高等数学是基础中的基础,一切理工科都需要这个打底,数据挖掘.人工智能.模式识别此类跟数据打交 ...

  2. (初学必看)deep graph library(dgl)库的入门引导

    文章目录 前言 简单? 内置数据集 定义模型 定义dgl中的一个图 附录 前言 下载这个库要去官方网站:https://www.dgl.ai/,网站上会给你下载命令,这有点像下载pytorch的时候. ...

  3. 零基础学python用哪本书好看-6个Python超酷技巧,原来还能这样用!初学必看

    0.引言 不管学什么,我个人是非常喜欢小技巧(tricks)的,Python 也不例外.著名 Python 技巧大师 Dan Bader 是这样定义 Python Tricks 的. A Python ...

  4. 【C语言初学必看】猜数字游戏背后的知识

    目录 前言: 1.先看主体部分(大体逻辑的部分) a.为什么用do...while循环: b.switch语句: c.关于scanf ( ) 中的 %d %s 和 printf ( ) 的关系 d.m ...

  5. ncnn的使用(初学必看)

    use ncnn with alexnet.zh wiki-sync-bot edited this page 11 hours ago · 1 revision 首先,非常感谢大家对 ncnn 组件 ...

  6. html表单最全详解,初学必看

    大家去面试,去开户都要填各式各样的表单,填好之后给工作人员,他们会按照表单项目与你填的内容来帮你完成业务. 同样的,在互联网冲浪也需要填各种各样的表单,比如用户问卷调查,新注册账号等.那么我们填好的表 ...

  7. 【C语言初学必看】之多组输入的玄机

  8. 【C语言初学必看】一知半解的for循环嵌套for循环

  9. Matlab图像处理(1)彩色图像转换为灰度图像(初学必看)

    手把手教你用Matlab实现彩色图像转换为灰度图像 RGB = imread('F:/1/tuxiang.jpg');%将图像读入工作区 Y = rgb2gray(RGB);%将图像灰度化 imsho ...

最新文章

  1. 何恺明团队最新力作RegNet:超越EfficientNet,GPU上提速5倍,这是网络设计新范式 | CVPR 2020...
  2. weex Android 空白,Weex H5显示正常,android和ios皆显示一片空白,为什么呢?
  3. 中国工程院院士:物联网市场须走出碎片化
  4. 压缩可以卸载吗_番禺街坊注意!微信发送高清大文件不压缩,网友:QQ可以卸载了?...
  5. 汉字为什么能流传至今_能让历史重新活起来的中国舞,再次席卷而来
  6. 【汇总】C#数据类型及转换
  7. 职场中 你要学习12种动物精神
  8. DOS下文件操作命令
  9. 页面全部按钮变成disabled=true_手机也能制作大片!只需轻松几步就能把照片变成视频。...
  10. k8s traefik 映射外部服务,映射其他域名,映射内网其他服务
  11. 【方向盘】Spring Boot 2.5.0正式发布,环境变量可指定前缀的功能很赞
  12. 宋宝华Linux培训笔记-Linux内存管理
  13. 社会管理网格化 源码_【西市场快讯】槐荫区委政法委副书记李岩雍赴西市场街道督导网格化管理工作...
  14. [Error] invalid operands to binary ^ (have ‘double‘ and ‘float‘)
  15. python麦克劳林级数展开
  16. 第九章 情归情理归理 好话丑话最好都说在前面
  17. 若依ajax返回数据,若依管理系统RuoYi-Vue(二):权限系统设计详解
  18. 【Adapter模式】C++设计模式——适配器
  19. pandas取每行最后一个非空元素
  20. 深度学习|卷积神经网络

热门文章

  1. 阿昆同学的Java学习日记Day1
  2. HDU 4125 Moles 线段树+KMP
  3. H3CSE园区-RRPP
  4. 月份对比_2020年5月份,四款主流游戏电脑配置横向对比,你会选择哪款呢?
  5. 智能PID软件-AVEVA Diagrams 快速复制流程图【图瓦软件出品】
  6. 不常用SQL语句整理
  7. linux配置SSH
  8. 著者四角号码查询_著者姓名汉语拼音与四角号码数字混合编制书次号之见
  9. Aandroid最简单最全面的热修复
  10. 兼容性问题:安卓正常,ios报错invalid group specifier name