平衡树的深度与最少结点数问题

2023-05-16

对于一棵平衡树,如果以NhNh表示深度为h时含有的最少结点数。有如下的规律:
N0=0,N1=1,N2=2;Nh=Nh−1+Nh−2+1
这里研究的是最小结点数,最多结点数自然是满二叉树时的,不必像最少结点这样需要递推分析。

最少结点的情况还可以从平衡因子看:所有非叶结点的平衡因子均为1。可以推论的是,均为-1也是最少结点的情况。

通常会围绕着最少结点,最大深度反复考察这个知识点。比如给定深度问最少需要多少个结点。或者给定结点数问最大能达到多少深度。
因此这个知识点可以形象化为深度是想达成的效果,越大越好,结点数是花费的成本,越小越好。

举例如下:

1.含有20个结点的平衡二叉树的最大深度是(6)。
分析:N0=0,N1=1,N2=2⟹N5=12,N6=20N0=0,N1=1,N2=2⟹N5=12,N6=20,即构成深度为5的树至少需要12个结点,深度为6至少需要20个结点,因此20个结点能够达到的最大深度是6.

2.具有5层结点的AVL树至少含有(12)个结点。
分析:由上面同样分析模式,5层至少含有12个结点。

因此得到如下递归公式
f(0)=0, f(1)=1, f(2)=2。
f(h)=f(h-1)+f(h-2)+1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

平衡树的深度与最少结点数问题 的相关文章

  • springmvc最简单配置的解析(1)-----------【springmvc源码】

    配置一个springmvc的话 xff0c 需要三步即可 在web xml中配置Servlet xff08 配置它是为了能找到第二步的文件 xff09 创建springmvc的xml配置文件 xff08 那么它就是寻找第三步的东西 xff0
  • windows 升级docker 4.9.1后,提示 Docker Desktop stopped,然后自动退出了

    问题 解决方法 以管理员身份重新运行
  • vnc 出现问题Authentication Failure

    解决办法 xff1a 是因为vnc用一套自己的密码系统 xff0c 不要去输入ssh登录时的密码 xff0c 所以只需要进入远程服务器中 xff0c 设置一哈vnc的密码即可 xff01 vncpasswd 修改 vnc xstartup文
  • 计算机常见单词

    1 单词说明 xff1a command n 命令 xff0c 指令 k m nd 单词拼写 名词 单词含义 音标 xff08 发音 xff09 提示 着重记忆单词对应的意思 xff0c 有能力最好词性也记忆 2 词性说明 xff1a n
  • ImportError: cannot import name '_path' from 'matplotlib'的原因分析,可能是因为你适合win32的whl,却下载安装了win64的whl

    我的电脑是64位的 xff0c 且我的python版本是3 7 xff0c 所以我在pypi官网 https pypi org project matplotlib 下载的whl文件是 xff1a matplotlib 3 0 2 cp37
  • 针对初学者的android Unresolved reference: *

    本文主要是针对Android初学者出现的android Unresolved reference xml代码kt的代码 xml代码 lt Button android id 61 34 64 43 id btn album 34 andro
  • python中跨平台文件操作

    众所周知 xff0c Windows下的路径分隔符为反斜杠 34 34 而UNIX like系统下的路径分隔符为正斜杠 34 34 xff0c 这常导致代码跨平台移植时的问题 Python设计为一门跨平台的语言 xff0c 当然可以轻松解决
  • Vxworks 学习(一)介绍

    Vxworks 学习 xff08 一 xff09 介绍 该系列文章是我根据多个博主以及相关书上内容整理的学习笔记 xff0c 许多内容非原创 实时操作系统 定义 实时操作系统 xff08 Real Time Operating System
  • 8-Cython依赖Visual Studio

    文章目录 前言一 vs 2015安装提示错误二 使用步骤1 下载安装vs高版本版本 二 环境配置三 测试模块编译安装四 测试Cython 前言 前面再crypto用于加解密时使用2005版本提供编译支撑 xff1b 最近2005编译环境安装
  • MongoDB的特点及概念

    MongoDB 的特点及概念 MongoDB 是一个介于关系数据库和非关系数据库之间的产品 xff0c 是非关系数据库当中功能最丰富 xff0c 最像关系数据库的 它是一个基于分布式文件存储的开源数据库系统 在高负载的情况下 xff0c 添
  • 【四足机器人】强化学习实现minitaur运动控制(决策模型篇)

    文章目录 模型概要1 状态 决策空间 xff08 略 xff09 2 奖励函数3 决策模型 模型概要 1 状态 决策空间 xff08 略 xff09 状态空间 xff1a roll xff08 X轴 xff09 pitch xff08 Y轴
  • 解决windows下安装Anaconda后python pip不可用的情况

    在windows系统下通过安装Anaconda的方式安装的python使用中发现不能再通过pip安装python包 只能通过conda install packname 的方法 xff0c 导致很多conda不支持的包无法安装 我遇到的事d
  • Spring-为什么要使用Spring?为什么要使用依赖注入(DI)?

    为什么要使用Spring xff1f 使用Spring框架最主要的原因是为了简化Java开发 xff08 大多数框架都是为了简化开发 xff09 xff0c 它帮我们封装了很多完善的功能 xff0c 而且Spring的生态圈非常的庞大 基于
  • Shell Limits设置问题导致用户不能登录

    故障现象 前几天 xff0c 突然间某数据库主机不能su切换到grid用户 发生故障的环境为 xff1a RHEL 6 7 xff0c ORACLE 11gR2 RAC xff0c 其中集群节点1发生此故障 xff0c 而节点2状态正常 故
  • shell脚本通过ftp获取文件

    shell脚本通过ftp获取文件 span class token comment usr bin bash span span class token comment T 1日期 span day 61 96 date span clas
  • 将EditPlus添加到右键菜单中

    将EditPlus添加到右键菜单中 一 以管理员权限打开打开Edit Plus 二 工具 gt 配置用户工具 三 点击常规选项选中左侧将EditPlus添加到右键快捷菜单中 四 选中一个文件 xff0c 右键就可以看到了
  • windows安装jdk

    windows安装jdk 一 xff1a 下载地址 xff0c 可下载自己需要的版本 https www oracle com technetwork java javase downloads jdk8 downloads 2133151
  • VMware共享本机网络

    VMware共享本机网络 一 设置桥接模式 xff1a 左上角菜单栏 gt 虚拟机 gt 设置 gt 网络适配器 xff08 如图操作 xff09 二 编辑虚拟网络 左上角菜单栏 gt 编辑 gt 虚拟网络编 xff08 如图操作 xff0
  • vim设置行号

    vim设置行号 方法一 xff1a 临时 或者 方法二 xff1a 当前用户永久 1 修改vim配置文件vimrc vim vimrc 输入 xff1a set number 或 set nu 保存退出 方法三 所有用户 1 vim etc
  • tomcat 配置https

    一 生成证书 1 使用jdk自带的keytool ext生成证书 xff0c 进入jdk下bin目录 xff1b 2 在路径栏输入cmd 回车打开dos命令窗口 xff0c 打开之后当前路径为jdk下bin目录 ps xff1a 也可直接w

随机推荐

  • Google http测试工具

    一 下载 xff1a 下载地址 xff1a https pan baidu com s 16mCI0QUn z0kNPX4yqGEWg 提取码 xff1a sgiz 二 配置 1 解压文件 2 在Google里配置插件 xff0c 或者叫扩
  • linux mysql 离线安装

    一 下载 1 官网地址 https dev mysql com downloads mysql 点击Archives 选择需要的版本 点击Download 进行下载 xff0c 如需要登录自行注册登录 将下载的安装包上传至linux系统 2
  • cmd介绍及常用命令

    cmd介绍 cmd基本概念 cmd commander xff0c 命令提示符是在操作系统中 xff0c 提示进行命令输入的一种工作提示符 在不同的操作系统环境下 xff0c 命令提示符各不相同 在windows环境下 xff0c 命令行程
  • 计算机的发展史

    计算机的发展史 计算机的前身 1642年的时候 xff0c 一位19岁的法国小伙设计并制作了一台能自动进位的加减法计算装置 xff0c 一开始是只能算加法的 xff0c 所以叫 加法器 后来慢慢改良 xff0c 可以做加减乘除的四则运算 x
  • 利用Radiogroup Radiobutton 实现滑动效果菜单

    第一次在满世界大侠的地方撰写博客 xff0c 所以不免紧张 xff0c 怕自己写出让人消掉大牙的文章 本着学习的态度 xff0c 最后我还是决定把自己的学习感想记录下来 首先我要感谢一个哥们 xff0c 大部分的内容都是他的杰作 xff0c
  • 一、初识VUE

    一 什么是vuejs VUE是一个渐进式的框架 xff0c 什么是渐进式呢 xff1f 渐进式意味着可以将vue作为应用的一部分 xff0c 嵌入应用 也就是说 xff0c 在一个整体项目中 xff0c 部分可用jQuery xff0c 部
  • Linux目录概述

    一 概述 由于开发linux发行版的社区或这企业太多 xff0c 如过每个Linux发行版的目录结构都不相同 那么在管理和使用上会造成很多困扰 xff0c 所以就有了FHS Filesystem Hierarchy Standard 的出现
  • ls与cp命令详解

    一 文件与目录检视 ls a xff1a 全部的文件 xff0c 连同隐藏文件 xff08 开头为 的文件 xff09 一起列出来 xff08 常用 xff09 A xff1a 全部的文件 xff0c 连同隐藏文件 xff0c 但不包括 与
  • linux 安装JDK

    一 下载JDK 版本 xff1a jdk 8u191 linux x64 tar gz 链接 xff1a https pan baidu com s 1w9HpHBRPHCfoiEpGSKJqXA 提取码 xff1a whya 二 安装 创
  • java调用DLL之jna

    一 添加maven依赖 span class token comment lt https mvnrepository com artifact net java dev jna jna gt span span class token t
  • 三、vue :定义变量、v-for、v-on示例

    一 vue定义变量 let xff1a 定义变量const xff1a 定义常量 contst定义常量时 xff0c 必须赋值 指向的对象不可改变 xff0c 但是对象中的属性 contst obj 61 name 39 张三 39 obj
  • 二、vue插值操作

    一 Mustache mustache语法就是两个大括号 34 34 mastache语法不仅直接可以写值 xff0c 也可以写一些简单的表达式 span class token tag span class token tag span
  • 二、vue中v-bind使用

    一 v bind基本使用 一个页面中 xff0c 除了标签内容需要动态绑定外 xff0c 标签的属性也需要动态绑定 xff0c 例如 xff1a a元素的href属性和img元素的src属性 这时就需要用到v bind了 span clas
  • 四、vue计算属性的使用

    通常 xff0c 在模板中可直接通过插值语法显示data中的属性 xff0c 但是在某些情况 xff0c 需要将某些数据进行转化后显示或者将多个数据结合起来显示 计算属性的基本使用 span class token tag span cla
  • firewall-cmd 端口管理

    1 开放端口 firewall span class token operator span cmd span class token operator span zone 61 public span class token operat
  • BIND 高级特性(二)-- 动态更新(转)

    BIND 高级特性 xff08 二 xff09 xff0d xff0d 动态更新 转 64 more 64 在很多大的网络中为了简化维护量 xff0c 都使用了DHCP来动态分配IP地址 这样就要求DNS也能够动态的添加和删除记录 BIND
  • Vue内置指令——v-show

    v show的用法与v if类似 xff0c 不同的是带有 v show 的元素始终会被渲染并保留在 DOM 中 v show 只是简单地切换元素的 CSS 属性 display span class token doctype span
  • QtCreator按顺序编译多个子项目

    QtCreator按顺序编译多个子项目 0 环境1 创建子项目2 创建SubProjectSln的子项目3 三个项目内容3 1 Dll3 2 Lib3 3 UiApp 4 构建 0 环境 Qt5 3 2 mingw482 32 1 创建子项
  • windows与wsl互相访问

    找出能与WSL2连接的那个IP 启动WSL2 xff0c 键入如下命令 xff1a span class token function cat span etc resolv conf 如 xff1a nameserver 172 27 1
  • 平衡树的深度与最少结点数问题

    对于一棵平衡树 xff0c 如果以NhNh表示深度为h时含有的最少结点数 有如下的规律 xff1a N0 61 0 N1 61 1 N2 61 2 Nh 61 Nh 1 43 Nh 2 43 1 这里研究的是最小结点数 xff0c 最多结点