Strutture di dati elementari

3.1 Introduzione 3.1.1 Cosa sono Le strutture di dati si interessano solamente di come memorizzare i dati, non necessariamente va a memorizzare un tipo di dato concreto. Quindi + sul come - sul cosa. 3.1.2 Prototipo e implementazione Avevamo introdotto la differenza fra algoritmo e programma all’inizio del corso, andiamo ora a definire la differenza fra prototipo e implementazione: Prototipo: va a fare una descrizione dei metodi che deve avere una determinata struttura di dati. Lo puoi intendere come una specie di interfaccia. ...

4 min Â· Xuanqiang 'Angelo' Huang

Tabelle di hash

Introduzione alle Tabelle di Hash 5.1.1 Prototipo Vogliamo implementare le operazioni del prototipo dizionario presentato in Strutture di dati elementari, e vogliamo fare solo queste 3 ma molto bene. Insert O(1) Delete O(1) Search in O(1) La struttura dati di hash riesce a fare bene queste singole operazioni Si vedrà che l’array modificato è il modo migliore per avere questo hash, solo generalizzando un modo per indicizzarlo che non saranno numeri (indici). ...

6 min Â· Xuanqiang 'Angelo' Huang

Tecniche algoritmiche

In questa nota andiamo a parlare in modo sommario (si impara probabilmente molto meglio con la pratica) di generali tipologie di approcci che esistono per affrontare problemi di tipo algoritmico. Divide et impera Introduzione Abbiamo già visto L’utilizzo di questa tecnica per quick e merge sort in Algoritmi di ordinamento Questa tecnica si focalizza in tre passi fondamentali: Dividere il problema in sotto-problemi Risolvere il sotto-problema Mergiare le soluzioni di questi sotto-problemi. Questa è più una tecnica che si impara di più con la pratica, andremo a fare un problema che utilizza questa tecnica ...

3 min Â· Xuanqiang 'Angelo' Huang