1.Facile
Come si chiama l'operazione di una pila (stack) che aggiunge un elemento in cima?
- APop
- BPush
- CEnqueue
- DPeek
2.Facile
In un albero, che cosa sono i nodi fratelli?
- ANodi che hanno lo stesso genitore
- BNodi alla stessa profondità in sottoalberi diversi
- CUn nodo e il suo genitore
- DNodi privi di figli
3.Facile
Quale operazione è O(1) per un array ma O(n) per una lista concatenata semplice?
- ALeggere il primo elemento
- BInserire in testa
- CAccedere all'elemento di indice i
- DRimuovere l'elemento in testa
4.Media
Una tabella hash di dimensione 7 usa h(k) = k mod 7 e la scansione lineare. Dopo aver inserito 10, dove viene memorizzato 17?
- AAll'indice 4
- BAll'indice 6
- CAll'indice 0
- DAll'indice 3
5.Media
Qual è il costo di inserire un elemento al centro di un array di n elementi?
- AO(log n), per via della ricerca binaria
- BO(n²), perché ogni elemento si sposta n volte
- CO(n), perché gli elementi successivi devono essere spostati
- DO(1), perché l'indice è noto
6.Media
Hai un riferimento a un nodo a metà di una lista. In quale lista puoi rimuoverlo in O(1)?
- AUn array dinamico
- BUna lista concatenata semplice
- CUn array ordinato
- DUna lista doppiamente concatenata
7.Difficile
Devi conservare i k valori più piccoli di un flusso di n numeri usando O(k) memoria. Quale approccio funziona in tempo O(n log k)?
- AUn max-heap di dimensione k, di cui si sostituisce la radice quando arriva un valore più piccolo
- BUn min-heap che contiene tutti gli n valori, da cui alla fine si estraggono i k più piccoli
- CUn array ordinato di tutti gli n valori
- DUna coda FIFO degli ultimi k valori
8.Difficile
L'eliminazione di un nodo con due figli da un albero binario di ricerca avviene di solito:
- AScambiandolo con la radice
- BRimuovendo l'intero sottoalbero
- 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
Soluzioni
- 1. B · Push
- 2. A · Nodi che hanno lo stesso genitore
- 3. C · Accedere all'elemento di indice i
- 4. A · All'indice 4
- 5. C · O(n), perché gli elementi successivi devono essere spostati
- 6. D · Una lista doppiamente concatenata
- 7. A · Un max-heap di dimensione k, di cui si sostituisce la radice quando arriva un valore più piccolo
- 8. D · Sostituendolo con il suo successore in ordine (o predecessore) ed eliminando quel nodo
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.