包含 {1, 2, 3, 4, 5, 6, 7} 中的每个值恰好一次的可能最小堆的数量是_______。
注意 –这是数字类型问题。
(一) 80
(乙) 8
(三) 20
(四) 210答案:(一)
说明:设置最小元素为根(即1 ),现在剩下 6 个,左子树将有 3 个元素,每个左子树组合可以排列成 2 个!方法。
设计具有 7 个元素的最小堆的全部方法 = *2! * 2! = 20*2*2 = 80
替代方法 –具有 1 到 N 个元素的最小或最大堆树的总数使用递归关系:
T(N) =(N-1)Ck * T(k) * T(N-k-1), where k = number of nodes on left subtree
T(1) = 1
T(2) = 1
T(3) = 2
T(4) = 3C2 * T(2) * T(1) = 3
T(5) = 4C3 * T(3) * T(1) = 8
T(6) = 5C3 * T(3) * T(2) = 20
T(7) = 5C3 * T(3) * T(3) = 80
所以,答案是 80。
这个问题的测验