Percorso di apprendimento

Strutture dati e algoritmi in C/C++

Stack, code, tabelle hash, ricerca binaria e merge sort, ognuno seguito da una sfida.

8 lezioni · 11 sfide

Inizia il percorso →
  1. Lezione 1 sfida La lista collegata semplice in C e C++ In questa lezione costruirai, scorrerai e libererai una lista collegata semplice in C e C++.
  2. Lezione 1 sfida La struttura dati pila (stack) in C e C++ In questa lezione implementerai le operazioni di una pila, secondo la regola ultimo a entrare, primo a uscire, con un array fisso in C e std::stack in C++.
  3. Lezione 1 sfida La coda circolare (circular queue) in C e C++ In questa lezione implementerai una coda, secondo la regola primo a entrare, primo a uscire, con un array circolare in C e std::queue in C++.
  4. Lezione 2 sfide La tabella hash (hash table) in C e C++ In questa lezione conterai quante volte compare ogni parola con una tabella hash scritta a mano in C e con std::unordered_map in C++.
  5. Lezione 1 sfida La ricerca binaria in C e C++ In questa lezione cercherai in un array ordinato in tempo O(log n) con un ciclo scritto a mano in C e con std::lower_bound in C++.
  6. Lezione 1 sfida L'ordinamento per fusione (merge sort) in C e C++ In questa lezione implementerai il merge sort con la strategia divide et impera, che richiede sempre tempo O(n log n).
  7. Lezione 2 sfide La ricorsione e lo stack delle chiamate in C e C++ In questa lezione calcolerai il fattoriale con una funzione ricorsiva e capirai il caso base e il costo in memoria della ricorsione.
  8. Lezione 2 sfide Contenitori e algoritmi della STL in C++ In questa lezione confronterai i cicli scritti a mano per elaborare gli array in C con la combinazione di algoritmi pronti della libreria standard del C++.