【发布时间】:2018-04-08 04:07:07
【问题描述】:
所以在课堂上,我的一个练习是找到导致具有最小高度和最大高度的二叉搜索树的插入顺序。插入的数字是 [1,2,3,4]。得到的答案是这样的:
但我不明白的是,为什么广告订单 1324,1342,4213,4231 不包含在广告订单中,导致最小高度,因为从技术上讲,这些不会导致 BST 的最小高度为 2也一样?
提前谢谢你!
【问题讨论】:
标签: algorithm binary-search-tree
所以在课堂上,我的一个练习是找到导致具有最小高度和最大高度的二叉搜索树的插入顺序。插入的数字是 [1,2,3,4]。得到的答案是这样的:
但我不明白的是,为什么广告订单 1324,1342,4213,4231 不包含在广告订单中,导致最小高度,因为从技术上讲,这些不会导致 BST 的最小高度为 2也一样?
提前谢谢你!
【问题讨论】:
标签: algorithm binary-search-tree
有趣的是文中没有提到这四种情况。它们没有最坏情况下的高度,但也不是最小的。一棵树有两个特征:
像 1432 这样的树的最大深度为 3,平均深度为 (0+1+2+3)/4 = 1.50
像 3124 这样的树的最大深度为 2,平均深度为 (0+1+1+2)/4 = 1.00
像 1324 这样的树的最大深度为 2,但平均深度为 (0+1+2+2)/4 = 1.25
最好的树具有最小的平均值以及最小的最大值深度。换句话说,最好的树的每一层(除了最后一层)都被完全填满。
例如,即使下面的两棵树具有相同的节点数和相同的最大深度,左侧的树也不是最小高度树,因为它在第三层缺少一个节点(这意味着平均深度将大于右侧的树)。
【讨论】: