Skip to content
This repository has been archived by the owner on Nov 5, 2024. It is now read-only.

PayThePizzo/Data-Structures-and-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Structures and Algorithms

This repo follows the topics of the following courses for students of Laurea triennale in Informatica at Università Ca' Foscari di Venezia:

[!NOTE] Anyhow, I took the liberty of adding extra content for a better comprehension of the course.


Contents

General Theory

  • Asymptotic notions
  • Temporal and Spatial Complexity
  • Solving occurrences
  • Decision Problems and NP-Hardness

Data Structures

I will include the following data structures, their primitives, and some of their declinations:

  • Trees
  • Heap
  • Priority Queues
  • Tables
  • Graphs

I do not include (for now), some basilar data structures and their implementations such as:

  • Sets
  • Array
  • Stack
  • Queues
  • Lists and their declinations.

Algorithms

I will try and implement the algorithms to make immediately runnable.

  • Sorting
  • Dynamic Programming
  • Greedy Algorithms

Implementation of Data Structures and Algorithms

I will only use C++ and C to implement the pseudocode.


Credits

In fact, the content belongs directly

  • Algorithms and Datastructures' Professor Alessandra Raffaeta' and Marcello Pelillo
  • [DFI] C. Demetrescu, I. Finocchi, G.F. Italiano. Algoritmi e strutture dati. Seconda Edizione. McGraw-Hill, 2008.
  • [CLRS] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein. Introduction to algorithms 3/ed. McGraw-Hill, 2010.
  • Some students of Ca' Foscari University of Venice.
    • Pareschi Chiara
    • Femia Bertacco Giacomo
    • Grazioso Matteo
    • D'Attero Andrea
    • Bertazzon Alice
    • Simonato Niccolo'
    • Scapin Filippo
    • Campanelli Alessio
    • Zanin Alessandro

I will add specific sections to give credit when due, but I recommend to buy the books and follow a university level course in order to understand these concepts better.

If you feel like any of the content is yours and/or should be removed, please contact me immediately.

[!WARNING] We do not take any credit for the content of this repo, as it might be misleading or (partly) wrong. This is due to the fact that is hard to keep track of a such a complex course and some notes might just be human errors.


Shout to helpful resources

I must mention a couple of resources which I found useful: