是否有任何方法可以估算d堆中节点的插入深度,该节点能够超过(node_value / heap_max) * h
,其中h是堆高度,heap_max是否归一化为堆最小值?
在这种特殊情况下,考虑到维护时间为O(1),维护额外/历史数据以支持此启发式是可行的。
答案 0 :(得分:0)
不完全是O(1),但是O(loglogn)(对于所有实际目的O(1))解决方案将存储某种级别的stat。例如。您可以存储每个级别的最大值并进行二分查找。
答案 1 :(得分:0)
根据将新元素插入堆 [Doberkat,1981],具有统一密钥分布的二进制堆看到每次插入平均有1.6个UpHeap操作。对于d堆,等效数字应该相当接近。