Quali sono le strutture dati esistenti?
sobes.tech AI
Risposta dell'AI
Array, liste, pile, code, alberi, grafi, tabelle hash.
Array: Collezione di elementi dello stesso tipo, memorizzati in celle di memoria contigue. Accesso tramite indice.
Lista: Collezione sequenziale di elementi. Possono essere semplici o doppiamente collegate. L'aggiunta/eliminazione nel mezzo è più efficiente rispetto a un array.
Pila: Struttura LIFO (Last-In, First-Out). Operazioni: push (aggiungi), pop (rimuovi dall'ultimo), peek (guarda l'elemento superiore).
Coda: Struttura FIFO (First-In, First-Out). Operazioni: enqueue (aggiungi alla fine), dequeue (rimuovi dall'inizio), peek (guarda il primo elemento).
Albero: Struttura dati gerarchica. Radice, nodi, discendenti. Esempio: albero binario di ricerca.
Grafico: Insieme di vertici (nodi), collegati da archi. Può essere orientato o non, pesato o non.
Tabella hash: Collezione di coppie chiave-valore. Usa funzione hash per accesso rapido (in media). Possono verificarsi collisioni.
Esempi di utilizzo in iOS:
- Array:
Array - Liste: nessuna classe incorporata, implementate con array o strutture personalizzate
- Pile/Code: implementate con array o liste
- Alberi: usati nei framework, ad esempio nell'UI (gerarchia delle visualizzazioni)
- Grafici: per rappresentare connessioni, ad esempio reti
- Tabelle hash:
Dictionary,Set
// Esempio di array
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Accesso tramite indice
// Esempio di dizionario (tabella hash)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Accesso tramite chiave