84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
优先级队列中的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一样的时间复杂度,只是常数值更大一些而已。