Fabio-A-Sa / Y2S1-AlgoritmosEstruturasDeDados

Exercises and assessments of the UC Algorithms and Data Structures. MIEIC, Year 2, Semester 1.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Algoritmos e Estruturas de Dados (AED) - Year 2, Semester 1 (Y2S1)

This repository contains all the exercises and assessments of the UC Algorithms and Data Structures, taught by Pedro Ribeiro and Ana Paula Rocha at Integrated Master in Informatics and Computing Engineering [MIEIC] at the Faculty of Engineering of the University of Porto [FEUP].

Final Grade: 18/20

FEUP Logo

Here are several documents, namely:

My Drafts

Pieces of code for exercises and assessments, notes that I take during practical classes and other experiences using C and C++ languages. It is an authentic disorganized notebook.

Notes

Notes that I take during theoretical lectures.

Exercises / Mooshak

Varied exercises of easy, medium and difficult level, about the subject taught in the present week. They complement the weekly work developed during the practical classes.

Project 1 - Airline Database Management, AirED (Grade: 18.6 / 20)

A project done in one month with Carolina Brandão and Gabriel Machado Jr..
It is intended to implement an information management system that must store and manage information related to planes, flights, passengers and luggage.

Implemented features:

  • Simpler and non-recursive interface, based on the Stack data structure;

Credits: Gabriel Machado Jr.

Menu strategy. Image credits: Gabriel Machado Jr.


  • Efficient search to the nearest transport, using Binary Search Tree data structure;
  • Efficient search to flights, planes, services, luggage using linear-search in lists and binary-search in sorted vectors;
  • Two types of luggage: hand-luggage and hold-luggage, depends on the user input and volume/weight proprieties;

Credits: Carolina Brandão

Luggage strategy. Image credits: Carolina Brandão


  • Automatic compound unique IDs, to better performance and avoid collisions in system population and manipulation;

Credits: Gabriel Machado Jr.

IDs strategy. Image credits: Gabriel Machado Jr.


  • Secure Data: files have the ability to self-heal if there is data corruption during the execution of program, using redundancy based on RAID;
  • ON DELETE CASCADE implicit behavior, activation whenever delete certain component, based on SQL databases management systems (DBMS);

Project 2 - STCP++ (Grade: 19.73 / 20)

A project done in two weeks with Carolina Brandão and Gabriel Machado Jr..
The “Sociedade de Transportes Colectivos do Porto (STCP)” is the company that manages the bus network in the municipality of Porto (and also in some neighboring areas). It is intended to implement a system capable of providing help to those who want to use the STCP network to move around, such as a Google Maps, through Algorithms that manipulate Graphs.
All data, coordinates, lines and stops used are real and were provided by Professor Pedro Ribeiro.

Credits: Pedro Ribeiro

There are 2487 different bus stops in Porto. Image credits: Pedro Ribeiro.


Implemented features:

  • Search the nearest stop by name, code and coordinates (latitude and longitude);
  • Beadth-First Search, to find the shorter path between origin/destiny stops, based on the fewest stops traveled;
  • Search the shorter path between origin/destiny stops, based on the total distance traveled using Dijkstra Algorithm adaptation;
  • Search the cheapest way between origin/destiny stops, based on the total zones traveled using Dijkstra too;

Credits: Gabriel Machado Jr.

Dijkstra implementation. Image credits: Gabriel Machado Jr.


  • Search the most comfortable way between origin/destiny stops, based on the total lines traveled using Dijkstra too;
  • Allow the person to decide how far they can walk from one stop or line to another;
  • Allow the person to decide which stops, zones, lines or areas they do not want to travel;

@ Fábio Araújo de Sá
2021/2022

About

Exercises and assessments of the UC Algorithms and Data Structures. MIEIC, Year 2, Semester 1.


Languages

Language:C++ 94.3%Language:C 5.2%Language:CMake 0.5%