Dijkstra优先队列的纯功能摊销常数时间`减少 - 关键字'?

时间:2014-01-03 12:38:06

标签: data-structures functional-programming priority-queue dijkstra

当我们将节点重新插入优先级队列时,Dijkstra的最短路径算法为O(E log V)。但是,如果我们使用常量时间decrease_key,并且为此公布了Fibonacci堆,则算法为O(V log V),因为没有为每个边输入主循环,仅针对每个顶点。这是纯粹的功能设置吗?以及如何 - 搜索减少密钥的节点已经O(log n)?我在互联网上发现2-3个手指树可用于实现摊销O(1) decrease_key,Haskell或OCaml的实现是否支持它?

0 个答案:

没有答案