7

STL 中的斐波那契堆在哪里?如果 STL 没有实现 Fibonacci Heap,那么在 STL 中使用现有算法和容器来实现它的最佳实践是什么?

4

3 回答 3

15

boost一个实现。希望有帮助。STL中似乎没有。这是一个例子:

 for(int n=0;n<40;++n){
    std::cout<<"F("<<n<<")="<<fibonacci(n)<<std::endl;
  }
于 2013-01-02T07:38:44.057 回答
1

尽管没有明确说明它是斐波那契堆,但 STL 实现了一个 priority_queue,它具有与斐波那契堆相同的复杂性、相同的 api 和行为(实际上可能是伪装的斐波那契堆)

https://en.cppreference.com/w/cpp/container/priority_queue

于 2020-07-06T12:30:14.037 回答
0

不,标准库中没有保证的斐波那契堆

有关在 C++ 中实现自定义分配方案的示例,请参阅Loki 库中的小对象分配器


编辑:对不起,我正在考虑实现动态内存分配堆的斐波那契伙伴系统。

于 2013-01-02T07:32:59.000 回答