第34课 - 二叉树的深层性质

1. 性质1

在二叉树的第i层最多有2i-1个结点。(i>= 1)

第一层最多有21-1=1个结点。

第二层最多有22-1=2个结点。

第三层最多有23-1=4个结点。

2. 性质2

深度为 kkk 的二叉树最多有 222kkk------111个结点。(k ≥ 0)0)0)

如果有一层,最多有1=21-1=1个结点。

如果有两层,最多有1+2=22-1=3个结点。

如果有三层,最多有1+2+4=23-1=7个结点。

3. 性质3

对于任何一颗二叉树,如果其叶结点有n0个,度为2的非叶结点有n2个,则有n0=n2+1。

证明:

假设二叉树中度1的结点有n1个且总结点为n个,则:n=n0+n1+n2

假设二叉树中连接父结点与子节点间的边为e条,则:e=n1+2n2=n-1。

所以:n0=n2+1。

4. 性质4

具有n个结点的完全二叉树的高度为[log2n]+1。([X]表示不大于X的最大整数)

证明:假设这n个结点组成的完全二叉树高度为k,则:2k-1-1<n<=2k-1

因为n为整数,所以:2k-1<=n<2k

取对数:k-1<=log2n<k

因为k为整数,所以:k=[log2n]+1。

5. 性质5

一棵有n个结点的二叉树(高度为[log2n]+1),按层次对结点进行编号(从上到下,从左到右),对任意结点i有:

如果i=1,则结点i是二叉树的根。

如果n>1,则其双亲的结点为[i/2].

如果2i<=n,则结点i的左孩子为2i。

如果2i>n,则结点i无左孩子。

如果2i+1<=n,则结点i的右孩子为2i+1。

如果2i+1>n,则结点i无右孩子。

转载于:https://www.cnblogs.com/free-1122/p/11336041.html

数据--第34课 - 二叉树的深层性质相关推荐

  1. python处理mysql数据结构_python环境下使用mysql数据及数据结构和二叉树算法(图)...

    python环境下使用mysql数据及数据结构和二叉树算法(图): 1 python环境下使用mysql 2使用的是 pymysql库 3 开始-->创建connection-->获取cu ...

  2. 数据结构——二叉树——特点及性质

    数据结构--二叉树--特点及性质 二叉树(Binary Tree)是n(n=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的.分别称为根结点的左子树和右子树的二 ...

  3. python实现mysql二叉树_python环境下使用mysql数据及数据结构和二叉树算法(图)...

    python环境下使用mysql数据及数据结构和二叉树算法(图): 1 python环境下使用mysql 2使用的是 pymysql库 3 开始-->创建connection-->获取cu ...

  4. 第34课:彻底解密Spark 2.1.X中Shuffle 中SortShuffleWriter排序源码内幕解密

    第34课:彻底解密Spark 2.1.X中Shuffle 中SortShuffleWriter排序源码内幕解密 本文根据家林大神系列课程编写 http://weibo.com/ilovepains S ...

  5. 【数据结构】二叉树的概念 | 满二叉树和完全二叉树 | 二叉树的基本性质

    前言: 在上一章中我们正式开启了对数据结构中树的讲解,介绍了树的基础.本章我们将学习二叉树的概念,介绍满二叉树和完全二叉树的定义,并对二叉树的基本性质进行一个简单的介绍.本章附带课后练习.

  6. 二叉树的定义 性质 及存储结构

    二叉树的定义和基本术语 二叉树是n个数据元素的有限集,它或为空集(n=0),或者含有唯一的称为根的元素,且其余元素分别分成两个互不相交的子集,每个子集自身也是一颗二叉树,分别称为根的左子树和右子树.集 ...

  7. 任务31:课时介绍 任务32:Cookie-based认证介绍 任务33:34课 :AccountController复制过来没有移除[Authorize]标签...

    任务31:课时介绍 cookie-based网站这边的认证 jwt基于移动端和前后端分离的项目,jwt有一些独特的优势 jwt在asp.net core中的实现机制,了解实现机制并进行扩展.比如非标准 ...

  8. 当且仅当函数依赖a→b在r上成立_数据库第06章关系数据理习题课.ppt

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp数据结构与算法 数据库第06章关系数据理习题课.ppt36页 本 ...

  9. python逐笔输入数据_知到智慧树Python数据分析与数据可视化结课测验

    知到智慧树Python数据分析与数据可视化结课测验答案 更多相关问题 已知三角形三个顶点的坐标是A(-1,2,3),B(1,1,1),C(0,0,5),试证三角形ABC是直角三角形,并求角B-- Wh ...

  10. 大数据入门第一课 Hadoop基础知识与电商网站日志数据分析

    大数据入门第一课 Hadoop基础知识与电商网站日志数据分析 本课程从Hadoop核心技术入手,以电商项目为依托,带领你从0基础开始上手,逐步掌握大数据核心技术(如:HDFS.YARN.MapRedu ...

最新文章

  1. Could not obtain transaction-synchronized Session for current thread
  2. BZOJ 3329 Xorequ (数位DP、矩阵乘法)
  3. 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。...
  4. java for list i_Java中ArrayList的fori和foreach效率比较
  5. 如何利用Excel进行同类项合并?
  6. win2003 IIS6配置PHP 5.3.3(fastCGI方式+eAccelerator)+ASP.NET 4.0(MVC3)
  7. 冠榕智能灯光控制协议分析(controller-node)
  8. LeetCode 2018. 判断单词是否能放入填字游戏内(模拟)
  9. Linux学习总结(12)——Linux必须学会的60个命令
  10. One Millisecond Face alignment with an Ensemble of Regression Trees
  11. ServletContext的应用
  12. 计算机科学中的张量,杨晓伟教授到我院做“张量学习的几个关键问题”学术报告...
  13. el-select 设置为可手动输入
  14. DM 跟踪日志及ET
  15. GPS 入门 7 —— GPS定位、LSB基站定位、wifi定位区别
  16. Lombok之@Cleanup使用
  17. linux 安装ros软路由,Centos7安装RouterOS软路由
  18. dev c++怎么设置断点_linux操作系统引导与启动——内核启动和初始化(二)断点...
  19. 关于vite配置postcss未生效问题
  20. 如何使用Robostudio加载地图?

热门文章

  1. 设计模式-04-行为型模式详解
  2. nsis打包php项目加环境,NSIS制作安装文件全攻略(一) zz
  3. java父类可以强转为子类吗_java父类可以强制转化成子类吗?
  4. FFmpeg设置OpenMax硬件编码
  5. 春节返乡,到底返的是什么?
  6. request.setAttribute()怎么用的?
  7. A little knowledge point every day,一起学python
  8. android 监听连接超时,android – Retrofit和OkHttpClient,在失败方法中捕获连接超时
  9. java适配器模式 场景_详解Java适配器模式
  10. go应用---Time.second