【发布时间】:2018-06-24 07:57:58
【问题描述】:
可以将数字1,2,3,4,5插入二进制堆的方式数,使得生成的二进制堆是最小堆?
答案 = 8
================================================ =============================
我的看法 - 因为它是一个最小堆,所以最小值将在根。
这将是最小堆
o -------> root will be chosen in 1 way
/ \
o o
/ \
o o
-> 左子树将是 4C3*1*2 方式,因为根将再次获得最小值,左右子树可以获得任何值。
-> 最后是右子树 => 1C1 = 1
总共 - 1*4C3*1*2*1 = 8。这种方法正确吗?
【问题讨论】:
-
@MBo 我的方法错了吗?
-
不,它是正确的。链接包含更一般的重复代码。
-
@MBo 谢谢亲爱的朋友! :)
标签: algorithm data-structures heap