Project in C and Java languages about constructing algorithms and handling data structures, with several studies that ranged from the complexity of each methods to other particular design choices. The contexts of the exercises involved by the activity are the following:
Exercise 1
: hybrid sorting algorithm that uses both the merge sort and the insertion sort with binary search.Exercise 2
: edit distance algorithm, which computes the number of characters needed to remove/inserted to tranform a string to another. There are 2 version: a naive-recursive one, and another made with dynamic programming technique to reduce the complexity of the previous version.Exercise 3
: ADT to handle a Unionfind Set data structureExercise 4
: ADT to handle a Graph (directed or not directed) and retrieve info about that data structure, followed by the Kruscal algorithm to compute the Minium Spanning Tree (MST) of an input graph.
This project was made by me and @LorenzoPallanza ✨,based on the 2nd (2020/2021) year graduation in computer science (University of Turin, esame di Algoritmi e Strutture Dati).