Completed as part of the Spring 2024 offering of CS:3330 Algorithms at the University of Iowa.
Description
An implementation comparing two versions of Dijkstra's shortest path algorithm: a vanilla version and an efficient version using a priority queue. The project analyzes performance differences between the two approaches when finding shortest paths in large graphs, demonstrating the practical impact of algorithmic optimization.
Features
- Vanilla Implementation: Classic Dijkstra's algorithm using linear search for minimum distance vertex
- Optimized Version: Enhanced implementation utilizing priority queue for efficient vertex selection
- Performance Analysis: Runtime comparison between both versions with theoretical justification
- StackPython, Priority Queue
- Source[Link to source code]