1.Facile
Quale struttura si usa tipicamente per implementare una coda con priorità?
- AUn heap
- BUno stack
- CUna stringa
- DUna lista concatenata semplice non ordinata
2.Facile
Una tabella hash memorizza i dati come:
- ACoppie chiave–valore individuate da una funzione hash
- BSolo una lista ordinata
- CUn albero con chiavi ordinate
- DUna stringa di lunghezza fissa
3.Facile
Che cos'è la proprietà di max-heap?
- ALe chiavi sono ordinate da sinistra a destra
- BLa chiave di ogni figlio sinistro è maggiore o uguale a quella del fratello destro
- CTutte le foglie contengono la chiave massima
- DLa chiave di ogni genitore è maggiore o uguale alle chiavi dei suoi figli
4.Media
Una rete stradale ha 100,000 incroci, ciascuno collegato a circa altri 4. Quale rappresentazione è la più adatta?
- AUn heap binario di archi
- BUn unico array ordinato di vertici
- CMatrice di adiacenza
- DLista di adiacenza
5.Media
In un heap binario memorizzato in un array a partire dall'indice 0, dove si trova il genitore del nodo all'indice i?
- AAll'indice ⌊i / 2⌋ + 1
- BAll'indice ⌊(i − 1) / 2⌋
- CAll'indice i − 1
- DAll'indice 2i + 1
6.Media
Un buffer circolare (ring buffer) è comunemente usato per implementare:
- AUn albero binario di ricerca
- BUna coda di dimensione fissa
- CUna visita di un grafo
- DUna funzione hash
7.Difficile
L'eliminazione di un nodo con due figli da un albero binario di ricerca avviene di solito:
- ARimuovendo l'intero sottoalbero
- BScambiandolo con la radice
- CRicostruendo da zero il sottoalbero sottostante e reinserendo tutte le chiavi che conteneva
- DSostituendolo con il suo successore in ordine (o predecessore) ed eliminando quel nodo
8.Difficile
Un array dinamico raddoppia quando è pieno. Perché molte implementazioni lo riducono solo quando è pieno per un quarto, e non per metà?
- APerché dimezzare a metà farebbe perdere elementi
- BPer mantenere l'array ordinato
- CPer evitare ridimensionamenti ripetuti quando push e pop si alternano vicino alla soglia
- DPerché l'allocatore di memoria può liberare memoria solo a quarti di blocco
Soluzioni
- 1. A · Un heap
- 2. A · Coppie chiave–valore individuate da una funzione hash
- 3. D · La chiave di ogni genitore è maggiore o uguale alle chiavi dei suoi figli
- 4. D · Lista di adiacenza
- 5. B · All'indice ⌊(i − 1) / 2⌋
- 6. B · Una coda di dimensione fissa
- 7. D · Sostituendolo con il suo successore in ordine (o predecessore) ed eliminando quel nodo
- 8. C · Per evitare ridimensionamenti ripetuti quando push e pop si alternano vicino alla soglia
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.