【发布时间】:2012-06-23 15:30:23
【问题描述】:
在大多数伪代码中,我通常会发现以下内容:
DeleteMin(返回键最小的元素并从集合中删除。)
DecreaseKey(适应特定元素键值的减少)
- 为什么使用 DeleteMin 检索最小元素 - 为什么不是随机元素?
- DecreaseKey 的用途是什么?在伪代码中,它总是在元素的值更改后调用。它在做什么?
【问题讨论】:
-
你说的是heap,而不是Dijkstra的算法?
-
如果你随机取下一个节点(不是最小距离),算法不正确。
-
@PetarMinchev 为什么会不正确?重新调整键值的顺序有什么关系?
-
@PetarMinchev:我不同意这是一个骗局。另一个问题特别问:为什么我们不重新添加 v,而这个问题问 - 为什么首先要修改?它还询问了 deleteMin() 步骤,该步骤发生在修改之前。
标签: algorithm language-agnostic computer-science dijkstra