Decrease key 的含义

新手上路,请多包涵

优先级队列中的decrease-key是什么意思,表示的是什么操作?

阅读 5k
1 个回答

如果你问的是STL中的priority_queue的话,我想到c++11为止是没有提供decrease-key的方法的。
我在做prim算法的时候也遇到过这个问题,如果去查看libc++中priority_queue的源码,你就会发现它只不过是一个适配器,是在vector上使用make_heap生成的。但是你可以依照同样的方法也在vector上建堆得到你想要的容器。另外你还可以使用set中的红黑树,它有和priority_queue一样的时间复杂度,只是常数值更大一些而已。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题