https://github.com/eshaagarwa/metro_app
A simple Java project using πΈοΈ Graph and ποΈ Heap data structures and π§ Dijkstra's algorithm, π DFS, π§ BFS, etc., algorithms to display the π shortest distance/path in Metro.
https://github.com/eshaagarwa/metro_app
dijkstra-algorithm dsa-algorithm graph heapsort-algorithm java
Last synced: 8 months ago
JSON representation
A simple Java project using πΈοΈ Graph and ποΈ Heap data structures and π§ Dijkstra's algorithm, π DFS, π§ BFS, etc., algorithms to display the π shortest distance/path in Metro.
- Host: GitHub
- URL: https://github.com/eshaagarwa/metro_app
- Owner: eshaagarwa
- Created: 2023-03-24T19:56:36.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-20T16:46:53.000Z (about 1 year ago)
- Last Synced: 2024-12-28T14:51:49.508Z (10 months ago)
- Topics: dijkstra-algorithm, dsa-algorithm, graph, heapsort-algorithm, java
- Language: Java
- Homepage:
- Size: 15.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
π οΈ Navigating the Metro with Java: **Metro App Project** π οΈ
π Hello there! Iβm excited to present **Metro App**, a simple yet powerful **Java project** that demonstrates the use of **data structures** to solve a real-world problem π. This project allows users to input the source and destination metro stations and displays both the **fare** and the **shortest route** between them. The application also features a metro map to enhance commuters' navigation experience π.
π **Project Features Overview** π
π **Metro App Functionality** π
- **Shortest Path Calculation**: By using different algorithms like **Dijkstra**, **BFS (Breadth-First Search)**, and **DFS (Depth-First Search)**, the shortest metro route between the source and destination stations is determined.
- **Fare Calculation**: The fare is dynamically calculated based on the total distance between the two stations.
- **Metro Map for Navigation**: A visual metro map aids in commuter navigation.
π οΈ **Core Concepts Used** π οΈ
The idea is implemented using **Graph** and **Heap** data structures:
- **Nodes**: Represent each metro station, containing information such as its name, metro corridor, and connecting lines.
- **Edges**: Represent the distance between two metro stations and the fare calculation based on the distance.
π **Main Algorithms & Files** π
- **Main.java**: Contains the primary code for executing the project logic.
- **Heap.java**: Implements the **heap** data structure used for optimizing path-finding algorithms.
π οΈ **Technologies Used** π οΈ
- **Java**: For building the entire metro app and implementing data structures.
- **Graph**: Represents metro stations and connections.
- **Heap**: Optimizes the shortest path algorithm.
π **Requirements** π
- **IDE**: You can run the project on any IDE like **Eclipse**, **NetBeans**, or **VSCode**.
- **Java Knowledge**: Youβll need some basic understanding of **Java** programming, especially data structures.
- **Optional**: Knowledge of the **Java Collection Framework** will make things easier. If you are unfamiliar, check out [GeeksforGeeks](https://www.geeksforgeeks.org/collections-in-java-2/) to get started!
π **All Set for Your Journey!** π
Dive into this **Metro App** project and explore how graph theory and Java come together to solve practical problems. Happy coding! ππ»