估计d堆中节点的插入深度

时间:2012-07-31 11:46:08

标签: algorithm sorting data-structures tree heap

是否有任何方法可以估算d堆中节点的插入深度,该节点能够超过(node_value / heap_max) * h,其中h是堆高度,heap_max是否归一化为堆最小值?

在这种特殊情况下,考虑到维护时间为O(1),维护额外/历史数据以支持此启发式是可行的。

2 个答案:

答案 0 :(得分:0)

不完全是O(1),但是O(loglogn)(对于所有实际目的O(1))解决方案将存储某种级别的stat。例如。您可以存储每个级别的最大值并进行二分查找。

答案 1 :(得分:0)

根据将新元素插入堆 [Doberkat,1981],具有统一密钥分布的二进制堆看到每次插入平均有1.6个UpHeap操作。对于d堆,等效数字应该相当接近。