二叉树的基本性质及证明

性质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的二叉树,最多有2k-1个结点,且完全二叉树的定义是与同深度的满二叉树前边的编号相同,即它们的结点总数n位于k层和k-1层的满二叉树容量之间,即2(k-1)-1< n <=2k-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的结点无右孩子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249235.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ACM10.14题解

ACM10.14题解 第一次打周赛&#xff0c;感觉还是比较紧张的&#xff0c;应该开完所有的题再做&#xff0c;而不是硬做&#xff0c;没必要硬杠英语&#xff0c;还是不要抱有侥幸心理&#xff0c;做对一定是完全理解且会&#xff0c;自己小心边界问题&#xff0c;不要瞎交。 A&am…

vscode: Visual Studio Code 常用快捷键

原文章地址&#xff1a; vscode: Visual Studio Code 常用快捷键 官方快捷键说明&#xff1a;Key Bindings for Visual Studio Code 主命令框 F1 或 CtrlShiftP: 打开命令面板。在打开的输入框内&#xff0c;可以输入任何命令&#xff0c;例如&#xff1a; 按一下 Backspace…

HTML5概要与新增标签

一、HTML5概要 1.1、为什么需要HTML5 HTML4陈旧不能满足日益发展的互联网需要&#xff0c;特别是移动互联网。为了增强浏览器功能Flash被广泛使用&#xff0c;但安全与稳定堪忧&#xff0c;不适合在移动端使用&#xff08;耗电、触摸、不开放&#xff09;。 HTML5增强了浏览器的…

Tomcat启动失败错误解决Could not publish server configuration for Tomcat v8.0 Server at localhost....

这个问题本质是我们有多个重名项目&#xff0c;为什么我们会有多个重名项目&#xff0c;其实一般都是我们删除以前的项目&#xff0c;然后再把它重新导进eclipse时以前的项目删除不彻底造成的&#xff0c;以前的项目在"Servers"里面的"server.xml"文件下的…

二叉树特性及证明

https://blog.csdn.net/jun2016425/article/details/54581407

Mock.js 和Node.js详细讲解

​​​​原文地址&#xff1a;http://www.manongjc.com/article/10503.html 《一统江湖的大前端》系列是自己的前端学习笔记&#xff0c;旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库&#xff0c;不定期更新。如果你对前端的理解还是写写页面绑绑事件&am…

架构图

负载均衡 分布式 转载于:https://www.cnblogs.com/jiqing9006/p/10672280.html

网络操作系统P12页答案

1.什么是网络操作系统&#xff1f;网络操作系统具有哪些基本功能&#xff1f;网络操作系统&#xff1a;专门为网络用户提供操作接口的系统软件&#xff0c;除了管理计算机的软件和硬件资源具备单机操作系统&#xff0c;并且为网络用户提供各种网络服务。当然网络操作系统不仅要…

如何将存储在MongoDB数据库中的数据导出到Excel中?

将MongoDB数据库中的数据导出到Excel中&#xff0c;只需以下几个步骤&#xff1a; &#xff08;1&#xff09;首先&#xff0c;打开MongoDB安装目录下的bin文件夹&#xff0c;&#xff08;C:\Program Files (x86)\MongoDB\Server\3.2\bin&#xff09;&#xff1b;此处视个人安装…

vue 项目初始化时,npm run dev报错解决方法

错误如下&#xff1a; npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! travel1.0.0 dev: webpack-dev-server --inline --progress --config build/webpack.dev.conf.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the travel1.0.0 dev script. npm ERR…

JDK源码分析

https://www.jianshu.com/p/f1f1f14e7fbe

VSCode 初次写vue项目并一键生成.vue模版

1.安装vscode 官网地址&#xff1a;https://code.visualstudio.com/2.安装一个插件&#xff0c;识别vue文件 插件库中搜索Vetur&#xff0c;下图中的第一个&#xff0c;点击安装&#xff0c;安装完成之后点击重新加载微信图片_20180723174649.png 3.新建代码片段 文件-->…

文本聊天室(TCP-中)

开始我们今天的代码实现&#xff0c;我们接着上一回&#xff0c;上回实现了服务器的代码这次实现客户端的UI(界面)层, 我们界面层采用javafx来进行绘制,首先有个登录服务器的界面然后切换到聊天界面运行结果如下.源代码如下: 1 package jffx.blogs.net;2 3 import javafx.appli…

Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名...

查询所有表名&#xff1a;select t.table_name from user_tables t;查询所有字段名&#xff1a;select t.column_name from user_col_comments t;查询指定表的所有字段名&#xff1a;select t.column_name from user_col_comments t where t.table_name BIZ_DICT_XB;查询指定表…

lucene原理

https://www.jianshu.com/p/0cfe042412a2

电商网站前端架构 学习笔记(全是干货)

1:前端架构的基本知识 1: 前端工程师必须会的一些技能 前端工程师基本技能图.PNG 2: 前端架构基本知识 什么是前端架构? 每个人对每个架构有不同的认识和一些想法。没有一个架构是完美的&#xff0c;只有一个架构是不是适合你的。哪个个架构符合你的需求的时候&#xff0c…

爱好-摩托车:铃木

ylbtech-爱好-摩托车&#xff1a;铃木1.返回顶部 2.返回顶部3.返回顶部4.返回顶部5.返回顶部 1、http://www.suzuki-china.com/motor/2、6.返回顶部作者&#xff1a;ylbtech出处&#xff1a;http://ylbtech.cnblogs.com/本文版权归作者和博客园共有&#xff0c;欢迎转载&#x…

Unable to preventDefault inside passive event listener

转自&#xff1a;https://segmentfault.com/a/1190000008512184 测试&#xff1a; body {margin: 0;height: 2000px;background: linear-gradient(to bottom, red, green); }// 在 chrome56 中&#xff0c;照样滚动&#xff0c;而且控制台会有提示&#xff0c;blablabla window…

thymeleaf 中文文档

https://raledong.gitbooks.io/using-thymeleaf/content/

vue面试题,知识点汇总(有答案)

一. Vue核心小知识点 1、vue中 key 值的作用 key 的特殊属性主要用在 Vue的虚拟DOM算法&#xff0c;在新旧nodes对比时辨识VNodes。如果不使用key&#xff0c;Vue会使用一种最大限度减少动态元素并且尽可能的尝试修复/再利用相同类型元素的算法。使用key&#xff0c;它会基于…