当前位置: 首页 > 知识库问答 >
问题:

将不同的元素插入二进制堆

东弘扬
2023-03-14

可以将数字1、2、3、4、5插入到二进制堆中,以使生成的二进制堆为最小堆的方式有多少?

答案 = 8

==========================================================================

我的观点是——因为这是一个Min堆,所以最小值将是根。

这将是最小堆

                             o   -------> root will be chosen in 1 way
                            / \
                           o   o 
                          / \ 
                         o  o

-

-

共-1*4C3*1*2*1=8。这种方法正确吗?

共有1个答案

曾鸿振
2023-03-14

是的,你的正确答案是8。让我们考虑一下所有的安排。

LST=左子树和RST=右子树

第一个-1固定在根上(因为1是最低的元素)。

第一种方式:在LST我们可以有(2,3,4)个,在RST只有5个:在这里(2,3,4)可以有2种排列方式,保持4为LST的根

第二种方式:LST(2,3,5),其本身可以通过两种方式完成,RST保持4种

第三路:(2,4,5)在LST,第三路在RST

第四种方式:(3,4,5)在LST和2在RST

总方式= 2*2*2*2 = 8种方式

 类似资料:
  • 问题内容: 我试图在不使用准备好的语句的情况下将一些Binary数据插入MySQL数据库。原因是我将成千上万条语句连接到一个插入中,一次运行一次。(MySQL转储和导入的工作原理) 我已经尝试了以下语句,但是都失败了: 插入my_table值(1,’g = F| }X ‘,2); 插入my_table值(1,CAST(’g = F| }X ‘as BINARY),2); 插入my_table值(1

  • 一个插件是一个简单的实现了插件接口的类.Gradle提供的核心插件作为其分布的一部分,因此,你需要做的仅仅是应用上述的插件.然而,非核心二进制插件需要到构建类路径才能应用它们.这可以以多种方式,包括以下方式实现: 定义插件作为构建脚本中内嵌类的声明. 定义插件为在项目中buildSrc目录下的一个源文件.(参见Section 62.4, “Build sources in the buildSrc

  • 我有一个xml。我想要元素

  • 我想实现一种将排序数组插入二叉搜索树的算法,但我不希望最终得到一棵只向一侧生长的树。 你有什么想法吗? 谢谢你。

  • 问题内容: 我在将这两种算法结合在一起时遇到麻烦。我被要求修改以返回将元素插入数组的索引。然后有人要求我实现一个使用my 对随机生成的数组进行排序的。 我按照预期的方式工作,每当我单独测试它时都返回正确的索引。我写信是为了了解它是如何工作的,并使其也能工作。一旦将两者结合在一起,它就会崩溃。我知道我在一起实施起来不正确,但是我不确定问题出在哪里。 这是我得到的: 我在运行它时得到的返回值是。有什么

  • html2CAN as可以发送多个元素(除了document.body)吗?如果我不想生成一个基于页面中几个元素的图像,并且有几个元素我不想渲染...如何编辑此代码? 顺便说一句,窗户。open意味着我不想在不同的页面上显示图像,同时不干扰原始html数据。