STL中的Fibonacci堆在哪里? 如果STL没有实现Fibonacci Heap,那么最佳做法是什么 使用STL中的现有算法和容器来实现它吗?
答案 0 :(得分:13)
boost有an implementation of it。希望有所帮助。 STL中似乎没有一个。这是一个例子:
for(int n=0;n<40;++n){
std::cout<<"F("<<n<<")="<<fibonacci(n)<<std::endl;
}
答案 1 :(得分:1)
即使未明确表示为Fibonacci堆,STL仍实现了priority_queue,该队列具有与Fibonacci堆相同的复杂性,相同的api和行为(并且可能实际上是伪装的Fibonacci堆)
答案 2 :(得分:0)
不,标准库中没有保证的fibonacci堆
有关在C ++中实现自定义分配方案的示例,请参阅small object allocator in the Loki library
编辑:抱歉,我在想fibonacci buddy system实现动态内存分配堆。