Algorithm 需要了解如何减少斐波那契堆中的键的帮助吗
我试图理解如何实现斐波那契堆操作。假设我们有以下堆:Algorithm 需要了解如何减少斐波那契堆中的键的帮助吗,algorithm,data-structures,heap,fibonacci,fibonacci-heap,Algorithm,Data Structures,Heap,Fibonacci,Fibonacci Heap,我试图理解如何实现斐波那契堆操作。假设我们有以下堆: 例如,我们如何将35降至27?由于27不大于30,因此顺序不保留,因此我们必须重建堆。那么27去了哪里?在Fibonacci堆的5?下,“减少关键点”实际上会从树中删除关键点减少到父关键点以下的所有节点。在您的情况下,该节点将作为单例节点放入根列表中 一般来说,减少关键工作如下: 减少按键 如果节点的新密钥大于其父节点的密钥,请停止 如果节点是根节点,请停止 取消标记节点并将其从其父节点剪切 如果父项未标记,则标记它 如果父项已标记,请转至
例如,我们如何将35降至27?由于27不大于30,因此顺序不保留,因此我们必须重建堆。那么27去了哪里?在Fibonacci堆的5?下,“减少关键点”实际上会从树中删除关键点减少到父关键点以下的所有节点。在您的情况下,该节点将作为单例节点放入根列表中 一般来说,减少关键工作如下: