Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
STL 中的斐波那契堆在哪里?如果 STL 没有实现 Fibonacci Heap,那么在 STL 中使用现有算法和容器来实现它的最佳实践是什么?
boost有一个实现。希望有帮助。STL中似乎没有。这是一个例子:
for(int n=0;n<40;++n){ std::cout<<"F("<<n<<")="<<fibonacci(n)<<std::endl; }
尽管没有明确说明它是斐波那契堆,但 STL 实现了一个 priority_queue,它具有与斐波那契堆相同的复杂性、相同的 api 和行为(实际上可能是伪装的斐波那契堆)
https://en.cppreference.com/w/cpp/container/priority_queue
不,标准库中没有保证的斐波那契堆
有关在 C++ 中实现自定义分配方案的示例,请参阅Loki 库中的小对象分配器
编辑:对不起,我正在考虑实现动态内存分配堆的斐波那契伙伴系统。