Index
Related
Tipi
- Array (Struttura Dati) 🟢
- Linked List (Struttura Dati) 🟡 (aggiungere codice)
- Pile (Struttura Dati) 🟢
- Code (Struttura Dati) 🟢
- Heap (Struttura Dati) 🟡 (da finire)
- Alberi (Struttura Dati) 🟢
- Alberi Binari (Struttura Dati):
Ogni struttura dati compie due tipi di operazioni:
Operazioni di interrogazione:
Search(S,x)
: recuperare valore associato alla chiavex
inS
Min(S)
: recuperare il minimo valore inS
Max(S)
: recuperare il massimo valore inS
Operazioni di manipolazione:
Insert(S,x):
inserire un elemento di valorex
inS
Delete(S,x):
rimuovere un elemento di valorex
inS
Definizione
Struttura di base
Una struttura dati è composta da:
- un modo sistematico di organizzare i dati
- un insieme di operatori che permettono di manipolare la struttura
Tipi
Le strutture dati possono essere:
- Omogenee o Disomogenee (rispetto ai dati contenuti).
- Statiche o Dinamiche (a seconda che possano o meno variare la dimensione nel tempo)
Insiemi Omogenei e Disomogenei
Omogenei
Insiemi omogenei possono contenere un solo tipo di dati. Esempio un array di interi.
Disomogenei
Insiemi disomogenei possono contenere più tipi di dati. Esempio le liste di python.
Insiemi Dinamici e Statici
Statici
Un insieme statico è una struttura dati omogenei in cui la dimensione è fissa e deve essere specificata al momento della creazione.
- Non possono cambiare di dimensione durante l’esecuzione del programma
- Sono generalmente più efficienti in termini di spazio e accesso.
- Sono utili quando si conosce a priori la dimensione massima dell’insieme e si vuole evitare l’overhead di gestire una dimensione variabile
Dinamici
Un insieme dinamico è una struttura dati in cui la dimensione può cambiare dinamicamente durante l’esecuzione del programma.
- Possono crescere o ridursi automaticamente per ospitare un numero variabile di elementi senza dover specificare una dimensione massima in anticipo.
- Sono utili quando la dimensione dell’insieme è incerta o può cambiare nel tempo.