Dijkstra Java

This project is a Java implementation of Dijkstra's algorithm to find the shortest path between 2 nodes. It was based on a algorithm design & analysis module assignment.

The program takes in 3 CSV files as inputs

  1. Name of cities and their unique identifier
  2. Longtitude and latitude of the cities
  3. Cost of travelling (weight) between cities
The program is able to produce the following outputs:
  1. Number of shortest paths between 2 cities
  2. Pair of cities with the highest number of shortest paths
  3. Number of shortest paths between the pair of cities from output 2.
  4. Length of shortest paths from output 2.
  5. Furthest cities from a specified city
  6. Total weight of the shortest path between 2 specified cities
  7. Total distance (km) of the shortest path between 2 specified cities
This was my first serious attempt in coding out a searching algorithm. It taught me the importance of algorithmic efficiency and to select the most suitable data structure for use cases.

You may view this project here.

Fantasy Team Screen