Skip to content

This repository is a collaboration of Idrees, Zainab, Abhi, and Khatija (IZAK) for the CS 225 Final Project

Notifications You must be signed in to change notification settings

athanvi2/CS-225-Project

Repository files navigation

CS225 Final Project - Open Flights

Group members:

  • Idrees Mohammed, imoha9
  • Khatija Syeda, kasyeda2
  • Zainab Sajid, zsajid2
  • Abhi Thanvi, athanvi2

Video Presentation

https://mediaspace.illinois.edu/media/t/1_4rho6pks/

File Organization

We tried to mimic the CS 225 labs and mps as structures for our file organization!

  • Documentations - Project Proposal and Team Contract
  • bin - for running cmake
  • entry - contains main.cpp
  • src - has airport.h, graph.h, graph.cpp, utils.cpp, utils.h
  • tests - test.cpp
  • main folder - CSV datasets, results.md, an image of our self constructed sample graph, jupyter notebook (Python) csv cleaning, and presentation video

How does our project work?

Our program uses data from Open Flights to find the shortest path between two airports. We use BFS Traversal to find the shortest path from a starting airport to destination airport based on least amount of connected flights. We use Dijkstra's algorithm to find the shortest path from a starting airport to destination airport based on shortest numeric distance. We use PageRank as sort of a simulation if there is an issue with where the luggage has been moved or is at. It finds the most “popular” or “high traffic” airports or in other words “most important airport” based on the connections of the airport to other airports.

Running Instructions

To download our program, copy and paste this line to your terminal:

git clone https://github.com/athanvi2/CS-225-Project.git
  1. Create the build folder
mkdir build

and then

cd build

and finally run,

cmake ..

This is similar in method to cloning CS 225 release repo/setup

  1. To build the program, you can run:
make

in the terminal.

  1. Different Run Options:
  • To run main -run ./main
  • To run tests -run ./test
  • To run tests with time metrics -run time ./test These commands are expected to run in the build directory

What to expect:

  • From ./test:
  • We are running test cases regarding our constructor and BFS, Dijkstra, and PageRank algorithms.
  • You should be expecting to pass 18 tests

About

This repository is a collaboration of Idrees, Zainab, Abhi, and Khatija (IZAK) for the CS 225 Final Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •