project idea for fibonacci heap

假如想象 提交于 2019-12-23 03:43:05

问题


I'm in a beginner level computer programming class and I (along with 3 other students) want to implement a Fibonacci heap for a final project. Can anyone suggest some good applications of fibonacci heaps? Something flashy enough to be good presentation material?


回答1:


Fibonacci heaps are used in some graph algorithms to improve their runtime. These graph algorithms might be pretty "flashy", so you could showcase those. For example, I believe Dijkstra's algorithm sometimes uses Fibonacci Heaps to achieve better asymptotic runtime.




回答2:


There are many algorithms that (theoretically) benefit from the Fibonacci Heap's efficiency, the easiest of which are Dijkstra's Algorithm for Shortest-Path problems, and Prim's Algorithm for Minimum Spanning Trees.

Do mind: while Fibonacci Heaps are theoretically optimal, they tend to be outperformed by Binary Heaps on the two problems above. For the Fibonacci Heap to really shine, you need either of the following cases: a) Expensive comparisons: Fib Heaps minimize the number of comparisons required to organize the data. b) The majority of operations is updateKey/insert/delete. As Fibonacci Heaps "group" the updates together until the next extractMin, the larger the "batch", the more efficient it gets.



来源:https://stackoverflow.com/questions/9543346/project-idea-for-fibonacci-heap

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!