Università della California San Diego Formazione online gratuita

Strutture dati

Descrizione

Un buon algoritmo solitamente è accompagnato da un insieme di buone strutture dati che consentono all'algoritmo di manipolare i dati in modo efficiente. In questo corso considereremo le strutture dati comuni utilizzate in vari problemi computazionali. Imparerai come queste strutture dati sono implementate in diversi linguaggi di programmazione e ti eserciterai a implementarle nei nostri compiti di programmazione. Ciò ti aiuterà a capire cosa sta succedendo all'interno di una particolare implementazione incorporata di una struttura dati e cosa aspettarti da essa. Imparerai anche casi d'uso tipici per queste strutture dati.

Alcuni esempi di domande che tratteremo in questa lezione sono i seguenti:
1. Qual è una buona strategia per ridimensionare un array dinamico?
2. Come vengono implementate le code con priorità in C++, Java e Python?
3. Come implementare una tabella hash in modo che il tempo di esecuzione ammortizzato di tutte le operazioni sia in media O(1)?
4. Quali sono le buone strategie per mantenere un albero binario in equilibrio?

Imparerai anche come servizi come Dropbox riescono a caricare istantaneamente alcuni file di grandi dimensioni e a risparmiare molto spazio di archiviazione!

Hai problemi tecnici? Scrivici: coursera@hse.ru

Prezzo: Iscriviti gratuitamente!

Lingua: Inglese

Sottotitoli: Inglese

Strutture dati - Università della California di San Diego