84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
优先级队列中的decrease-key是什么意思,表示的是什么操作?
decrease-key
光阴似箭催人老,日月如移越少年。
如果你问的是STL中的priority_queue的话,我想到c++11为止是没有提供decrease-key的方法的。我在做prim算法的时候也遇到过这个问题,如果去查看libc++中priority_queue的源码,你就会发现它只不过是一个适配器,是在vector上使用make_heap生成的。但是你可以依照同样的方法也在vector上建堆得到你想要的容器。另外你还可以使用set中的红黑树,它有和priority_queue一样的时间复杂度,只是常数值更大一些而已。
如果你问的是STL中的priority_queue的话,我想到c++11为止是没有提供decrease-key的方法的。
我在做prim算法的时候也遇到过这个问题,如果去查看libc++中priority_queue的源码,你就会发现它只不过是一个适配器,是在vector上使用make_heap生成的。但是你可以依照同样的方法也在vector上建堆得到你想要的容器。另外你还可以使用set中的红黑树,它有和priority_queue一样的时间复杂度,只是常数值更大一些而已。