This program was written as an assignment of the Advanced Data Structures in Java course offered by UC San Diego through Coursera as the third course of 5 parts courses of Object Oriented Java Programming: Data Structures and Beyond Specialization where the skeleton as well as some starter code had been provided.
- Graph abstract data type (ADT).
- Interpret graph structure and properties from different graph representations.
- Write classes in Java to implement graphs
- Create graphs in Java using an adjacency matrix representation and an adjacency list representation
- Java Class Design, Redesign and Refactoring
- Critique aspects of code design
- Finding shortest paths in weighted graphs
- Route planning and NP-hard graph problems
To find a shortest route in Google map I've implemented the following algorithms:
- Breadth First Search
- Dijkstra Search
- A* Search
-
Loading local (Near Saint Petersruurg Polytechnical university) intersections in the map:
-
Breadth First Search (BFS) Result for the above mentioned route: Total nodes visit to find the shortest rout:
-
Dijkstra Result for the above mentioned route: Total nodes visit to find the shortest rout: 