Fredman和Tarjan论文中斐波那契堆的ReductionKey的原始设计



我现在根据弗雷德曼(Fredman)和塔琳(Tarjan)的原始论文实现斐波那契堆。如果我根据论文正确理解它,以执行节点 x dectekekey 操作,我们只是从其父母身上删除了它。但是,如果减少后的关键仍然大于其父母,那将是效率低下的(我认为)。另外,我看到许多设计只有在键变小时才削减了一个节点,例如在clrs中。

所以我对它的原始设计有些困惑。他们为什么不采用更有效的方法来进行 depeasekey 。也许它使摊销分析更加容易?任何响应都将被赞赏。预先感谢。

我不能为弗雷德曼(Fredman)和塔琳(Tarjan)讲话(尽管我曾经审核了塔琳(Tarjan)的一堂课),但大概它们专注于最差的案例摊销降低的复杂性,在这种情况下,这种优化在哪种优化上进行了优化没有效果。

最新更新