This algorithm operates on trees. But I've always wondered how one can create efficient algorithms operating on general graphs in a functional language such as Haskell?
For example, how would one write a fast version of Dijkstra's shortest path algorithm in Haskell?
Comments
This algorithm operates on trees. But I've always wondered how one can create efficient algorithms operating on general graphs in a functional language such as Haskell?
For example, how would one write a fast version of Dijkstra's shortest path algorithm in Haskell?
Using mutability.
It's not a sin, just something to avoid when not strictly necessary.
http://jspha.com/posts/mutable_algorithms_in_immutable_langu...
http://jspha.com/posts/mutable_algorithms_in_immutable_langu...
http://jspha.com/posts/mutable_algorithms_in_immutable_langu...
E.g. using a variation of zippers