检查包含 n 个元素的数组是否为最小堆的算法

2024-01-04

我试图概述一个算法来确定我的数组是否是最小堆。有没有任何文档可以帮助我解决这个问题?我在 Apache 的网站上找到了它的函数,但它没有确切地显示该函数是如何工作的;只是存在一个函数(BinaryHeap(boolean isMinHeap))。


维基百科文章 http://en.wikipedia.org/wiki/Binary_heap应该对你有帮助。

以下是一些帮助您思考解决方案的问题:

  1. 假设堆是最小堆,那么关于堆的根必须正确的是什么?
  2. 如果堆的根满足最小堆属性,如何确保根的子树也持有该属性?
  3. 如果树的根没有孩子怎么办?它是最小堆吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查包含 n 个元素的数组是否为最小堆的算法 的相关文章

随机推荐

  • 我如何更新 pandas 数据框,只保留原始数据框在左上角?

    我有这样的情况 例如一个原始的 pandas 数据框 如下所示 columnA columnB 1 2 1 3 然后由于更新 该表看起来像这样 columnA columnB columnC 2 3 2 2 4 3 1 3 3 但是 我想保
  • 跨活动共享“全局”变量,使用 Webview 时出现问题......?

    我通过使用这样的类在活动中共享一些变量 public class Globals static Boolean hint1 graph type switcher static Boolean hint2 stockview valuati
  • 查找两个图节点之间的所有路径

    我正在研究 Dijkstra 算法的实现 以检索路由网络上互连节点之间的最短路径 我已经实施了 当我将起始节点传递给算法时 它会返回到所有节点的所有最短路径 我的问题 如何检索从节点 A 到节点 G 的所有可能路径 甚至从节点 A 到节点
  • Visual Studio 在发布模式下出现“无法加载文件或程序集。不支持操作”错误

    我有一个 C 小型项目 它使用两个外部 dll 文件 一个是Redmine Net Api dll 另一个是NLog dll 我正在使用 Visual Studio 2010 我将这两个文件添加为我的项目的参考 问题是 当我在调试模式下运行
  • Ionic - 同一页面中的多个视图

    我是 Ionic 中的菜鸟 我需要帮助 指南来构建听起来很简单的东西 我想要一个由多个内容组成的页面 其想法是在同一页面中拥有多个视图 每个视图都链接到特定的控制器 这是我的代码 index html内容
  • 如何以正确的方式在 Angular 8 中重新加载页面

    注意 我通过谷歌搜索得到了一组结果 但是 正如我在最后解释的那样 我觉得由于多样性 它们并不可靠 我有两种实用方法 一种用于导航到父节点 另一种用于重新加载自身 第一个按预期工作 而另一个则无法导致重新加载 navigateToParent
  • 如何通过运行设置文件从代码覆盖率分析结果中排除迁移文件夹?

    我想从代码覆盖率分析结果中排除所有迁移类 所以我在中使用了以下代码codecoverage runsettings文件 但代码覆盖率分析结果还包括迁移命名空间类 迁移类的命名空间是MySolution Data Migrations他们在M
  • 以编程方式清除地图缓存

    我在使用 Android Google Maps API v2 创建的 SupportMapFragment 中启用了缓存 我希望能够以编程方式清除应用程序本身内程序的缓存 这是对我提出的要求 我正在使用描述的trimCache 方法来执行
  • 在多个后续范围内查找值和 .filldown?

    VBA新手在这里 我有一个包含多个组的动态列表 每个组的顶部列出了该组的领导者 下面列出了该组的成员 A 列中每个列出的人员旁边都有一个主键 我想获取领导者的密钥 并将其应用于领导者和组中每个成员的 F 列 这样每个成员在 A 列中都有自己
  • R 中一列数据的热图

    现在我有一列数据 超过 500 行 example df lt data frame City c New York LA DC Boston Chicago Data c 780 982 111 893 989 我想构建一个热图 但我只有
  • VBA:WithEvents 谜题

    我有一个用户表单 xForm 正在类模块中实例化 假设测试类 as TestClass Dim Form as New xForm Private WithEvents EvForm as MSForms UserForm Set EvFo
  • 如何让 Gradle 将 Lombok 添加到其项目和外部依赖库中?

    我在 Eclipse Neon 中创建了一个 Java 项目 我使用 Buildship 1 0 21 将项目导入为 Gradle 项目并运行wrapper and init用于生成构建 设置和包装文件的命令 该项目有一个空的源文件夹 因为
  • 如何隐藏批处理文件的命令提示符

    我有一个批处理文件 它运行一些命令并在资源管理器中打开一些文件 我想在不打开任何命令提示符的情况下执行这些操作 是否可以 如果是这样 怎么办 我没有使用任何其他脚本 例如 vbs 提前致谢 不完全是你的答案 因为你可能不想使用 VBS 但是
  • xcodebuild 的参数用于使用最新的 sdk。

    我使用 ant exec 任务来执行 xcodebuild 来构建一些 iOS 项目 hudson 我希望能够以允许不指定 sdk 版本的方式创建脚本 因为在 hudson 从属或我的 iOS 项目上更新 sdk 后 我的所有项目都失败了
  • WPF 中如何在窗口获得焦点时收到通知?

    我希望在单击 WPF 中的窗口时收到通知 我使用 GotFocus 事件 但它仅在我单击窗口中的组合框时触发 我想要的是在单击窗口或窗口中的任何控件时收到通知 关于如何做到这一点有什么想法吗 The GotFocus http msdn m
  • 优化 PHP 菜单选择器

    我做了功课 代码可以工作并且执行我想要的操作 目的如下 我有一个有 6 个选项的菜单 当我单击一个选项时 该选项将保持点亮状态 然后其余选项将被停用 并且在单击一个选项和每个选项时必须连续发生这种情况 我使用以下代码来控制我的应用程序顶部菜
  • 如何避免画布填充区域之间出现接缝?

    当我在 HTML5 Canvas 或 Quartz 或 GDI 等类似系统中填充相邻区域时 我在共享边缘上看到浅色接缝 这是一个例子 代码如下 我想我明白发生了什么 但没有解决办法 每条边缘都针对白色进行了抗锯齿处理 因此您得到的不是橙色和
  • 自定义视频采集原生webrtc

    据 webrtc 讨论组主题 google cricket VideoCapture 将很快被弃用 要自定义视频源 我们应该实现VideoTrackSourceInterface 我尝试实现接口但没有成功 当我有一个框架时 我实现了该接口
  • 滚动显示以及文本区域上的滚动

    我有一个文本区域元素 其内容动态显示在右侧 当我向下滚动文本区域时 我希望显示也相应于文本向下滚动 我的文本区域还包含一些MathJax https www mathjax org 元素 我找到https stackedit io edit
  • 检查包含 n 个元素的数组是否为最小堆的算法

    我试图概述一个算法来确定我的数组是否是最小堆 有没有任何文档可以帮助我解决这个问题 我在 Apache 的网站上找到了它的函数 但它没有确切地显示该函数是如何工作的 只是存在一个函数 BinaryHeap boolean isMinHeap