1.Facile
Che cos'è il fattore di carico di una tabella hash?
- AIl numero di elementi memorizzati diviso per il numero di bucket
- BIl tempo necessario per caricare la tabella dal disco
- CIl numero di bucket diviso per la lunghezza media delle chiavi memorizzate
- DIl numero di collisioni avvenute finora
2.Facile
Che cos'è una deque (coda a doppia estremità)?
- AUna struttura che permette inserimenti e rimozioni a entrambe le estremità
- BDue code separate che condividono un array
- CUna coda che permette rimozioni solo in fondo
- DUna coda ordinata per priorità
3.Facile
In un grafo non orientato, che cos'è il grado di un vertice?
- AIl numero di vertici del grafo
- BLa sua posizione nella lista di adiacenza
- CLa lunghezza del cammino più lungo che parte da esso
- DIl numero di archi a esso collegati
4.Media
Hai un riferimento a un nodo a metà di una lista. In quale lista puoi rimuoverlo in O(1)?
- AUn array dinamico
- BUn array ordinato
- CUna lista doppiamente concatenata
- DUna lista concatenata semplice
5.Media
Un nodo di un albero binario di ricerca ha un sottoalbero destro. Dove si trova il suo successore in ordine?
- ANel suo genitore, sempre
- BNel suo figlio destro, sempre
- CNel nodo più a destra del suo sottoalbero sinistro
- DNel nodo più a sinistra del suo sottoalbero destro
6.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 2i + 1
- BAll'indice ⌊i / 2⌋ + 1
- CAll'indice i − 1
- DAll'indice ⌊(i − 1) / 2⌋
7.Difficile
Quanto tempo serve per cercare una chiave arbitraria in un min-heap binario di n elementi?
- AO(log n)
- BO(n)
- CO(1)
- DO(log log n)
8.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)?
- AUna coda FIFO degli ultimi k valori
- BUn array ordinato di tutti gli n valori
- CUn max-heap di dimensione k, di cui si sostituisce la radice quando arriva un valore più piccolo
- DUn min-heap che contiene tutti gli n valori, da cui alla fine si estraggono i k più piccoli
Soluzioni
- 1. A · Il numero di elementi memorizzati diviso per il numero di bucket
- 2. A · Una struttura che permette inserimenti e rimozioni a entrambe le estremità
- 3. D · Il numero di archi a esso collegati
- 4. C · Una lista doppiamente concatenata
- 5. D · Nel nodo più a sinistra del suo sottoalbero destro
- 6. D · All'indice ⌊(i − 1) / 2⌋
- 7. B · O(n)
- 8. C · Un max-heap di dimensione k, di cui si sostituisce la radice quando arriva un valore più piccolo
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.