二叉树的基本性质及证明

二叉树的基本性质及证明性质1:一棵非空二叉树的第i层上最多有2^(i-1)个结点,(i>=1)。性质2:一棵深度为k的二叉树中,最多具有2^k-1个结点,最少有k个结点。性质3:对于一棵非空的二叉树,度为0的结点(即叶子结点)总比度为1的结点多一个,即叶子结点数为n0,度为2的结点数为n2,则有n0=n2+1。证明:如果n0表示度为0(即叶子结点)的结点数,用n1表示度为1的结点数,n2表示度为2的结点数,

大家好,又见面了,我是你们的朋友全栈君。

性质1:一棵非空二叉树的第i层上最多有2^(i-1)个结点,(i>=1)。

性质2:一棵深度为k的二叉树中,最多具有2^k-1个结点,最少有k个结点。

性质3:对于一棵非空的二叉树,度为0的结点(即叶子结点)总比度为1的结点多一个,即叶子结点数为n0,度为2的结点数为n2,则有n0=n2+1。

证明:如果n0表示度为0(即叶子结点)的结点数,用n1表示度为1的结点数,n2表示度为2的结点数,n表示整个完全二叉树的结点总数,则有n=n0+n1+n2,根据二叉树和树的性质,可知n=n1+2xn2+1(所有结点的度数之和加1等于结点总数),根据两个等式可知n0+n1+n2=n1+2xn2+1,即n2=n0-1,也即n0=n2+1。

性质4:具有n个结点的完全二叉树深度为(log2(n))+1。

证明:根据性质2,深度为k的二叉树,最多有2^k-1个结点,且完全二叉树的定义是与同深度的满二叉树前边的编号相同,即它们的结点总数n位于k层和k-1层的满二叉树容量之间,即2^(k-1)-1< n <=2^k-1之间,或2^(k-1) <= n <2^k,两边同时取对数得,k-1<=log2(n)<k,又因层数为整数,故log2(n)=k-1,即k=log2(n)+1。

性质5:对具有n个结点的完全二叉树,如果按照从上至下和从左至右的顺序对二叉树的所有结点从1开始编号,则对于任意的序号为i的结点有:

如果i>1,那么序号为i的结点的双亲结点序号为i/2;

如果i=1,那么序号为i的结点为根节点,无双亲结点;

如果2i<=n,那么序号为i的结点的左孩子结点序号为2i;

如果2i>n,那么序号为i的结点无左孩子;

如果2i+1<=n,那么序号为i的结点右孩子序号为2i+1;

如果2i+1>n,那么序号为i的结点无右孩子。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138393.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Drupal8的详细建站教程

    Drupal8的详细建站教程什么是drupal?    drupal是一个好用且功能强大的内容管理系统(CMS),通常也被称为是内容管理框架(CMF),由来自全世界各地的开发人员共同开发和维护,目前最新版本是Drupal8。安装drupal所需基础    建站环境:Windows或Linux操作系统   Web服务器:Apache,Nginx,Lighttpd,或微软的IIS服务器,

    2022年6月3日
  • idea远程debug配置_debug调试教程

    idea远程debug配置_debug调试教程IDEA远程debug调试设置

    2022年9月11日
  • linux 文本编辑器vi常用命令

    linux 文本编辑器vi常用命令linux之文本编辑器vi常用命令由于经常在linux下面文本操作,所以这里稍微系统的总结一下自己常用的vi命令1、打开命令:vi+filename(还有各种打开的姿势,只不过我比较顺手这个)2、退出命令::q退出而且不保存修改的内容:q!强制退出不保存修改的内容:wq退出并且保存修改的内容:wq!强制保存修改的内容然后退出(修改了只读文件会用到)ZZ退出并且保存修改的内容,相当于:wq,看个人习惯3、光标移动命令个人比较喜欢上下左右方向键,字母h(左),j

    2022年7月26日
  • dex文件详解

    dex文件详解1、基本概念能被DVM虚拟机识别,加载并执行的文件格式2、生成dex文件1、通过IDE自动帮我们build生成2、手动通过dx命令去生成dex文件3、在手机上手动运行dex文件3、使用dx命令来生成dex文件首先得要先配置dx环境变量,这个环境变量怎么配呢?找到的sdk的安装目录,然后进入build-tools目录,这里是你电脑上的所有sdk的安装目录,随便选择一个进去,就可以知道dx.b

    2022年6月27日
  • idea 激活 betterintelliJ破解方法[通俗易懂]

    idea 激活 betterintelliJ破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
  • Python安装Pytorch教程(图文详解)「建议收藏」

    Python安装Pytorch教程(图文详解)「建议收藏」最近人工智能等多门课需要复现论文,近两年的论文很多都是Pytorch环境,所以,这里总结一下Pytorch的安装教程,做好最快、最简单、最好地完成安装。本机环境Win10+1050Ti+Python3.7+1、查看本机的CUDA版本1、打开NVIDIA的控制面板,在开始菜单里面的NVIDIAControlPanel2、在如下界面,帮助—>系统设置3、出现系统信息如下4、然后选择组件,然后看到蓝色的那一行就是英伟达的CUDA版本,可以看到我的是11.1.114

    2022年6月24日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号