1.Facile
Quale struttura dati è più adatta per la funzione «annulla» (undo) di un editor di testo?
- AInsieme hash (hash set)
- BGrafo
- CPila (stack)
- DCoda (queue)
2.Facile
Che cos'è la proprietà di max-heap?
- ALe chiavi sono ordinate da sinistra a destra
- BLa chiave di ogni genitore è maggiore o uguale alle chiavi dei suoi figli
- CTutte le foglie contengono la chiave massima
- DLa chiave di ogni figlio sinistro è maggiore o uguale a quella del fratello destro
3.Facile
In un albero, che cos'è una foglia?
- AUn nodo con esattamente un figlio
- BUn nodo senza figli
- CUn nodo senza genitore
- DIl nodo con il valore più grande
4.Media
Perché in pratica percorrere un array è spesso molto più veloce che percorrere una lista concatenata della stessa lunghezza?
- AGli elementi dell'array sono contigui, quindi sfruttano bene la cache della CPU
- BLe liste concatenate memorizzano sempre gli elementi su disco
- CGli array usano meno istruzioni per confrontare i valori
- DLa visita di un array è O(1) in totale, mentre quella di una lista concatenata è O(n)
5.Media
Quale struttura dati usa la visita in profondità (DFS) nella versione iterativa?
- AUno stack
- BUna coda
- CSolo una tabella hash
- DUn heap
6.Media
A che cosa serve un nodo sentinella (fittizio) in una lista concatenata?
- AA rendere la lista ordinata
- BA memorizzare il numero di elementi
- CA impedire che la lista cresca oltre un numero massimo fisso di nodi
- DA semplificare il codice eliminando i casi particolari in testa o in coda
7.Difficile
Quale problema della scansione lineare viene ridotto principalmente dal doppio hashing?
- ALa necessità di memorizzare le chiavi nella tabella
- BL'agglomerazione primaria (primary clustering), cioè la formazione di lunghe sequenze di posizioni occupate
- CIl costo O(n) della lettura del valore di una chiave
- DLa necessità di una funzione hash
8.Difficile
Per ogni elemento di un array vuoi il successivo elemento maggiore alla sua destra, in tempo totale O(n). Quale struttura aiuta?
- AUn albero binario di ricerca ricostruito per ogni elemento
- BUna coda che contiene ogni coppia di elementi
- CUna tabella hash di tutti gli elementi
- DUna pila che conserva gli elementi in attesa della loro risposta
Soluzioni
- 1. C · Pila (stack)
- 2. B · La chiave di ogni genitore è maggiore o uguale alle chiavi dei suoi figli
- 3. B · Un nodo senza figli
- 4. A · Gli elementi dell'array sono contigui, quindi sfruttano bene la cache della CPU
- 5. A · Uno stack
- 6. D · A semplificare il codice eliminando i casi particolari in testa o in coda
- 7. B · L'agglomerazione primaria (primary clustering), cioè la formazione di lunghe sequenze di posizioni occupate
- 8. D · Una pila che conserva gli elementi in attesa della loro risposta
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.