Shortest path algorithms
The original goal for this java library was to cover the 50 algorithms that every programmer should know. We use the word programmer to refer to anyone engaged in trying to accomplish something with the help of a computer, including scientists, engineers, and applications developers, not to mention college students in science, engineering, and computer science. The code is optimized for clarity, portability, and efficiency. While some of the implementations are as fast as the corresponding counterparts in java.util, our goal is to express the core algorithmic idea in an elegant and efficient manner. While some advanced Java features (such as generics and iterators) was embraced, others that would interfere with the exposition were avoid (such as inheritance and concurrency).
This library contains different sections: SORTING, SEARCHING, GRAPHS, STRINGS and CONTEXT algorithms with some other fundamentals and beyond. To be more specific it contains Dijkstra, FloydWarshall, BellmanFord, Kruskal, Prim, BFS, DFS and Borůvka algorithm in GRAPH section. It can be very useful for GIS engineers.
Data files should be *.txt file including the structure shown in the picture. First row represents number of nodes in a graph, second one is the number of edges and in the following we have a triple of fromNode, toNode and the cost separated by space.
reference: [Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne, 2011]