首先公式都是for (int i = arr.length/2 -1; i >= 0; i–) 其中arr.length/2 -1代表的非叶子节点的索引,推导过程

  1. 首先一个n个节点二叉树的度n-1,从下往上看,因为除了根节点以为每个节点都有一个入度
  2. 设n个节点中 有x个非叶子节点和y个叶子节点,x+y =n ,从上往下看,所有的非叶子节点都有两个出度,叶子节点没有-》2x = n-1 = x+y-1->x=y-1
  3. 从上面式子可知道 非叶子节点比叶子节点少一个,而int型在在进行除法时会自动去除小数点,所以arr.leng /2 就类似于(n-1)/2 而这是数组下标,都需要减一,所以int i = arr.length/2 -1

堆排序中非叶子节点的位置怎么算相关推荐

  1. 堆排序(完全二叉树)最后一个非叶子节点的序号是n/2-1的原因

    堆排序是基于完全二叉树实现的,在将一个数组调整成一个堆的时候,关键之一的是确定最后一个非叶子节点的序号,这个序号为n/2-1,n为数组的长度.但是为什么呢? 可以分两种情形考虑: ①堆的最后一个非叶子 ...

  2. 每天一道LeetCode-----计算二叉树所有根节点到叶子节点的和

    Sum Root to Leaf Numbers 原题链接Sum Root to Leaf Numbers 二叉树每个从根节点到叶子节点的路径都代表一个整数,计算所有整数的和 只需要遍历一遍整棵数即可 ...

  3. c#二叉树 取叶子节点个数_数据结构第四章:树与二叉树(二叉树的概念、性质、特殊二叉树)...

    第四章:树与二叉树(二叉树的逻辑结构) 1.二叉树 二叉树是树结构的一种,故二叉树也是逻辑结构. 二叉树:二叉树是n(n≥0)个结点的有限集合. · 1)n=0时,二叉树为空; · 2)n>0时 ...

  4. 二叉树(C++):创建,前中后序遍历(递归+非递归),获取叶子节点个数,获取树的高度

    文章目录 前言 创建二叉树 先序遍历 中序遍历 后序遍历 获取叶子节点个数 获取树的高度 测试代码 前言 现有如下二叉树: 关于二叉树的相关操作,我们能够发现二叉树从根节点到子节点,以及每个中间节点基 ...

  5. HDU 4267 线段树 离散点区间更新, 自叶子节点至根单点查询

    题意: n个数字 下面n个数字表示数列 2个操作 1 [u, v]  k  add [u,v ]区间 (u点要计算)每隔k个位置,该数字+add 2 pos 询问 pos下标的值(下标从1开始) 思路 ...

  6. earcharts tree 节点间隔_InnoDB是顺序查找B-Tree叶子节点的吗?

    导读 在<为什么MySQL能够支撑千万数据规模的快速查询?>中,我详细讲解了InnoDB B-Tree的结构,同时,我以下面这条SQL举例: SELECT * FROM user WHER ...

  7. 每天一道LeetCode-----找到有多少条连续路径的和为给定值,路径不需要从根节点出发到达叶子节点

    Path Sum III 原题链接Path Sum III 给定一个二叉树,计算二叉树中有多少条路径的元素和等于某个值,路径只需要连续即可,不要求必须从根节点出发到达叶子节点 如果只是简单的递归,那么 ...

  8. 计算二叉树叶子节点的数目

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/twilight_karl/article/details/53468024 二叉树采用链式储存结构,设计算 ...

  9. c#二叉树 取叶子节点个数_二叉树的最小深度+完全二叉树的节点个数

    二叉树的最小深度 题目:给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20 ...

最新文章

  1. 谷歌开源文本生成新方法 LaserTagger,直击 seq2seq 效率低、推理慢、控制差三大缺陷!
  2. 记录rewrite url我之前不知道的地方
  3. OPEN RESETLOGS 启动,报ORA-00392   ORA-00312错误
  4. arm中的.a文件如何产生的_可变文件系统:如何在IPFS中处理文件?
  5. linux即时通讯软件下载,安信通linux版下载
  6. 【转】DCMTK开源库类继承结构与DICOM3.0标准元素定义的对应关系图
  7. js本页导出Excel,下载
  8. 转载 树莓派vnc 教程
  9. 《Visual Studio Code权威指南》读后总结
  10. 全国计算机信息高新技术办公软件应用模块,全国计算机信息高新技术办公软件应用模块(Windows系列)教案.doc...
  11. L1-040 最佳情侣身高差 (10 分)—团体程序设计天梯赛
  12. Guava学习笔记之Maps(1):Maps.uniqueIndex(Iterable, Function)
  13. 无线网络经常掉线的原因以及网络的设置
  14. 淘宝上传图片到淘宝 API 返回值说明(upload_img-上传图片到淘宝)
  15. 计算机科学的稿费有多少,写作近两年,稿费3000+,老实人告诉你为什么那么多人写作能月入30000...
  16. 军队文职(数学2+物理)——高等数学 1、函数
  17. mysql中如何选中数据库_MySQL 选择数据库
  18. 关于left与offsetLeft的区别
  19. 【NLP】第 6 章:用于文本分类的卷积神经网络
  20. 如何从硬盘安装DOS和windows

热门文章

  1. 【Spring Cloud】OpenFeign和Spring Cloud Loadbalancer调用失败后的重试机制比较
  2. 消灭泡泡糖游戏java编程_JAVA面向对象编程课程设计——泡泡堂
  3. 二维数组 string[,]
  4. 最近使用的一款session工具:sa-Token
  5. 刚刚,云之家、聚美、中公教育等120款APP侵害用户权益被点名
  6. Hadoop(二)Hive原理解析
  7. 什么品牌的蓝牙耳机最好?2022音质最好的蓝牙耳机品牌推荐
  8. 运维真的不是夕阳产业!(不谈技术)
  9. 【踔厉奋发,笃行不怠】中创算力召开2021年终工作会议
  10. mysql 复合索引(联合索引) a b c的使用