二叉树的基本原理和性质(初学必看)
二叉树
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.学习并掌握一些数学知识 高等数学是基础中的基础,一切理工科都需要这个打底,数据挖掘.人工智能.模式识别此类跟数据打交 ...
- (初学必看)deep graph library(dgl)库的入门引导
文章目录 前言 简单? 内置数据集 定义模型 定义dgl中的一个图 附录 前言 下载这个库要去官方网站:https://www.dgl.ai/,网站上会给你下载命令,这有点像下载pytorch的时候. ...
- 零基础学python用哪本书好看-6个Python超酷技巧,原来还能这样用!初学必看
0.引言 不管学什么,我个人是非常喜欢小技巧(tricks)的,Python 也不例外.著名 Python 技巧大师 Dan Bader 是这样定义 Python Tricks 的. A Python ...
- 【C语言初学必看】猜数字游戏背后的知识
目录 前言: 1.先看主体部分(大体逻辑的部分) a.为什么用do...while循环: b.switch语句: c.关于scanf ( ) 中的 %d %s 和 printf ( ) 的关系 d.m ...
- ncnn的使用(初学必看)
use ncnn with alexnet.zh wiki-sync-bot edited this page 11 hours ago · 1 revision 首先,非常感谢大家对 ncnn 组件 ...
- html表单最全详解,初学必看
大家去面试,去开户都要填各式各样的表单,填好之后给工作人员,他们会按照表单项目与你填的内容来帮你完成业务. 同样的,在互联网冲浪也需要填各种各样的表单,比如用户问卷调查,新注册账号等.那么我们填好的表 ...
- 【C语言初学必看】之多组输入的玄机
- 【C语言初学必看】一知半解的for循环嵌套for循环
- Matlab图像处理(1)彩色图像转换为灰度图像(初学必看)
手把手教你用Matlab实现彩色图像转换为灰度图像 RGB = imread('F:/1/tuxiang.jpg');%将图像读入工作区 Y = rgb2gray(RGB);%将图像灰度化 imsho ...
最新文章
- 何恺明团队最新力作RegNet:超越EfficientNet,GPU上提速5倍,这是网络设计新范式 | CVPR 2020...
- weex Android 空白,Weex H5显示正常,android和ios皆显示一片空白,为什么呢?
- 中国工程院院士:物联网市场须走出碎片化
- 压缩可以卸载吗_番禺街坊注意!微信发送高清大文件不压缩,网友:QQ可以卸载了?...
- 汉字为什么能流传至今_能让历史重新活起来的中国舞,再次席卷而来
- 【汇总】C#数据类型及转换
- 职场中 你要学习12种动物精神
- DOS下文件操作命令
- 页面全部按钮变成disabled=true_手机也能制作大片!只需轻松几步就能把照片变成视频。...
- k8s traefik 映射外部服务,映射其他域名,映射内网其他服务
- 【方向盘】Spring Boot 2.5.0正式发布,环境变量可指定前缀的功能很赞
- 宋宝华Linux培训笔记-Linux内存管理
- 社会管理网格化 源码_【西市场快讯】槐荫区委政法委副书记李岩雍赴西市场街道督导网格化管理工作...
- [Error] invalid operands to binary ^ (have ‘double‘ and ‘float‘)
- python麦克劳林级数展开
- 第九章 情归情理归理 好话丑话最好都说在前面
- 若依ajax返回数据,若依管理系统RuoYi-Vue(二):权限系统设计详解
- 【Adapter模式】C++设计模式——适配器
- pandas取每行最后一个非空元素
- 深度学习|卷积神经网络