1.Facile
Che cosa fa l'operazione peek (o top) su una pila?
- ARestituisce l'elemento in cima senza rimuoverlo
- BRimuove l'elemento in cima e lo restituisce
- CRimuove tutti gli elementi dalla pila
- DRestituisce l'elemento in fondo alla pila
2.Facile
Nella rappresentazione di un grafo con liste di adiacenza, che cosa si memorizza per ogni vertice?
- AUna lista dei suoi vertici adiacenti
- BIl numero totale di archi del grafo
- CUna riga di V valori booleani
- DIl cammino minimo verso ogni altro vertice
3.Facile
In un albero binario di ricerca, i valori nel sottoalbero sinistro di un nodo sono:
- AUguali al valore del nodo
- BMaggiori del valore del nodo
- CMinori del valore del nodo
- DIn ordine casuale
4.Media
Gli alberi AVL e gli alberi rosso-neri garantiscono:
- AUn'altezza O(log n) tramite il ribilanciamento
- BChe le chiavi siano memorizzate in ordine di inserimento
- CChe nessun nodo abbia due figli
- DUna ricerca in tempo costante in ogni caso
5.Media
Una visita in ordine (in-order) di un albero binario di ricerca visita le chiavi in:
- AOrdine crescente
- BOrdine sempre decrescente
- COrdine di inserimento
- DOrdine per livelli
6.Media
Un buffer circolare (ring buffer) è comunemente usato per implementare:
- AUna coda di dimensione fissa
- BUn albero binario di ricerca
- CUna visita di un grafo
- DUna funzione hash
7.Difficile
In un buffer circolare, front == rear può significare sia vuoto sia pieno. Qual è un modo comune per distinguere i due casi?
- AMantenere un contatore separato degli elementi, oppure lasciare sempre una posizione inutilizzata
- BMemorizzare front e rear nella stessa variabile
- CRendere la dimensione del buffer una potenza di due
- DSvuotare sempre il buffer ogni volta che front è uguale a rear, così lo stato è vuoto
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 · Restituisce l'elemento in cima senza rimuoverlo
- 2. A · Una lista dei suoi vertici adiacenti
- 3. C · Minori del valore del nodo
- 4. A · Un'altezza O(log n) tramite il ribilanciamento
- 5. A · Ordine crescente
- 6. A · Una coda di dimensione fissa
- 7. A · Mantenere un contatore separato degli elementi, oppure lasciare sempre una posizione inutilizzata
- 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.