image-infomatics / reneu

build and analyze REal NEUral networks
Apache License 2.0
1 stars 0 forks source link

Region graph #46

Closed xiuliren closed 4 years ago

xiuliren commented 4 years ago
william-silversmith commented 4 years ago

When I was working with dijkstra's algorithm, I made a similar experiment. I found that unless you are using the decrease_key/increase_key property of the fibbonacci heap, it's faster to use std::priority_queue and just keep adding new nodes and skip reoccurring labels. If you use the decrease_key property, Tarjan and Sleator also found the Pairing Heap to be faster in practice than the fib heap though the fib heap has a better theoretically proven bound (the pairing heap is harder to write proofs for).

Boost has a pairing heap implementation (and so do I): https://github.com/seung-lab/dijkstra3d/blob/master/pairing_heap.hpp It also has the virtue of being slightly more memory efficient.

xiuliren commented 4 years ago

@william-silversmith Your experiment and conclusion is super helpful. Your implementation of pair heap is also cool!