1.Facile
Come sono memorizzati in memoria gli elementi di un array?
- AIn un unico blocco contiguo, uno dopo l'altro
- BIn posizioni casuali scelte da un hash
- CIn un albero di pagine di memoria
- DSparsi, collegati da puntatori
2.Facile
Che cosa fa una funzione hash in una tabella hash?
- AConta quante chiavi sono memorizzate
- BOrdina le chiavi della tabella
- CCifra i valori della tabella
- DAssocia una chiave a un indice della tabella
3.Facile
Che cos'è il fattore di carico di una tabella hash?
- AIl numero di bucket diviso per la lunghezza media delle chiavi memorizzate
- BIl numero di collisioni avvenute finora
- CIl tempo necessario per caricare la tabella dal disco
- DIl numero di elementi memorizzati diviso per il numero di bucket
4.Media
Un albero binario ha radice 1 con figlio sinistro 2 e figlio destro 3; il nodo 2 ha figli 4 (sinistro) e 5 (destro). Qual è la visita in postordine?
- A5 4 3 2 1
- B4 2 5 1 3
- C1 2 4 5 3
- D4 5 2 3 1
5.Media
Quale metodo di risoluzione delle collisioni memorizza le chiavi in collisione in una lista nello stesso bucket?
- AConcatenamento separato (separate chaining)
- BScansione quadratica (quadratic probing)
- CDoppio hashing (double hashing)
- DScansione lineare (linear probing)
6.Media
Quale struttura dati usa un programma in esecuzione per tenere traccia delle chiamate di funzione attive e delle loro variabili locali?
- AUna tabella hash di funzioni
- BUn albero binario di ricerca di frame
- CLo stack delle chiamate
- DLa coda della memoria heap
7.Difficile
Quale problema della scansione lineare viene ridotto principalmente dal doppio hashing?
- AL'agglomerazione primaria (primary clustering), cioè la formazione di lunghe sequenze di posizioni occupate
- BLa necessità di memorizzare le chiavi nella tabella
- CIl costo O(n) della lettura del valore di una chiave
- DLa necessità di una funzione hash
8.Difficile
Un segment tree (albero dei segmenti) è tipicamente usato per:
- ARispondere a interrogazioni su intervalli (come somme su intervalli) e aggiornamenti in O(log n)
- BImplementare uno stack
- CMemorizzare gli archi di un grafo
- DOrdinare stringhe alfabeticamente memorizzando ogni prefisso in un nodo separato dell'albero
Soluzioni
- 1. A · In un unico blocco contiguo, uno dopo l'altro
- 2. D · Associa una chiave a un indice della tabella
- 3. D · Il numero di elementi memorizzati diviso per il numero di bucket
- 4. D · 4 5 2 3 1
- 5. A · Concatenamento separato (separate chaining)
- 6. C · Lo stack delle chiamate
- 7. A · L'agglomerazione primaria (primary clustering), cioè la formazione di lunghe sequenze di posizioni occupate
- 8. A · Rispondere a interrogazioni su intervalli (come somme su intervalli) e aggiornamenti in O(log n)
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.