用于插入替罪羊树的摊销运行时间

时间:2014-06-04 16:18:26

标签: binary-search-tree insertion amortized-analysis

我正在研究以下问题,从我为自学的课程设置问题。

Original Problem

我已经解决了第一部分。我坚持第二个。到目前为止,这些是我的想法。我认为重建以v为根的子树的正确方法是遍历它一次以按排序顺序将值复制到数组中,然后再次遍历它以将其构建为平衡二叉树。因此,这在v.size中是线性的。但是,我不知道潜在和常数可以将其变成O(1),更不用说这样的常数如何依赖于alpha。我认为重建操作独立于alpha,而alpha只影响你重建的频率?那么alpha会从潜在的功能出来吗?然后c只是用来取消alpha?如果是这样,我可以就如何重写潜在功能提供一些指导吗?

1 个答案:

答案 0 :(得分:0)

您不需要重写潜在的功能。 c和alpha交互的方式是在(2)的部分中,其中"一个非α平衡的子树"。这应该可以帮助您获得该子树的潜力的下限。第(1)部分帮助您在重建后获得该子树的潜力的上限。由此产生的潜在差异应该有助于您为重建付出代价。

特别是,对于某些函数f,下限将类似于f(c,alpha)* m。此问题希望您根据alpha找到c的表达式,以便f(c,alpha)> = 1。