1.Facile
Quale operazione è lenta in un array ma veloce in testa a una lista concatenata?
- ALeggere l'ultimo elemento tramite indice
- BOttenere la lunghezza di un array di dimensione fissa
- CAccedere al 5° elemento
- DInserire all'inizio
2.Facile
In quale ordine una visita in postordine (postorder) di un albero binario visita i nodi?
- ASottoalbero sinistro, poi nodo, poi sottoalbero destro
- BSottoalbero destro, poi nodo, poi sottoalbero sinistro
- CNodo, poi sottoalbero sinistro, poi sottoalbero destro
- DSottoalbero sinistro, poi sottoalbero destro, poi nodo
3.Facile
Nella rappresentazione di un grafo con liste di adiacenza, che cosa si memorizza per ogni vertice?
- AIl cammino minimo verso ogni altro vertice
- BIl numero totale di archi del grafo
- CUna lista dei suoi vertici adiacenti
- DUna riga di V valori booleani
4.Media
Come si inserisce un nuovo elemento in un heap binario?
- ASi ricostruisce da zero l'intero heap
- BLo si pone alla fine dell'array e lo si fa risalire finché viola la proprietà di heap
- CLo si inserisce nella posizione ordinata spostando di un posto a destra tutti gli elementi più grandi
- DLo si pone nella radice e lo si fa scendere
5.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 6
- BAll'indice 0
- CAll'indice 3
- DAll'indice 4
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 ⌊(i − 1) / 2⌋
- BAll'indice 2i + 1
- CAll'indice ⌊i / 2⌋ + 1
- DAll'indice i − 1
7.Difficile
Quale struttura permette di calcolare il massimo di ogni finestra di dimensione k di un array in tempo totale O(n)?
- AUna lista concatenata semplice degli elementi della finestra
- BUn min-heap ricostruito per ogni finestra
- CUn array ordinato aggiornato con spostamenti
- DUna deque che contiene indici in ordine decrescente di valore
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)?
- AUn min-heap che contiene tutti gli n valori, da cui alla fine si estraggono i k più piccoli
- 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
- DUna coda FIFO degli ultimi k valori
Soluzioni
- 1. D · Inserire all'inizio
- 2. D · Sottoalbero sinistro, poi sottoalbero destro, poi nodo
- 3. C · Una lista dei suoi vertici adiacenti
- 4. B · Lo si pone alla fine dell'array e lo si fa risalire finché viola la proprietà di heap
- 5. D · All'indice 4
- 6. A · All'indice ⌊(i − 1) / 2⌋
- 7. D · Una deque che contiene indici in ordine decrescente di valore
- 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.