Scheda di esercizi di Strutture dati con soluzioni

Scheda di esercizi di Strutture dati gratuita e stampabile: 8 esercizi dal livello facile a quello d’esame, con le soluzioni. Stampala o salvala come PDF.

Per i docenti: gratuita da stampare, copiare e usare in classe. Ogni nuova scheda ha nuovi valori e le sue soluzioni. Un link a ExamProblems nella pagina del corso è molto apprezzato.

Nome: ____________________   Data: ____________

1.Facile

Quale operazione è lenta in un array ma veloce in testa a una lista concatenata?

  1. ALeggere l'ultimo elemento tramite indice
  2. BOttenere la lunghezza di un array di dimensione fissa
  3. CAccedere al 5° elemento
  4. DInserire all'inizio
2.Facile

In quale ordine una visita in postordine (postorder) di un albero binario visita i nodi?

  1. ASottoalbero sinistro, poi nodo, poi sottoalbero destro
  2. BSottoalbero destro, poi nodo, poi sottoalbero sinistro
  3. CNodo, poi sottoalbero sinistro, poi sottoalbero destro
  4. 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?

  1. AIl cammino minimo verso ogni altro vertice
  2. BIl numero totale di archi del grafo
  3. CUna lista dei suoi vertici adiacenti
  4. DUna riga di V valori booleani
4.Media

Come si inserisce un nuovo elemento in un heap binario?

  1. ASi ricostruisce da zero l'intero heap
  2. BLo si pone alla fine dell'array e lo si fa risalire finché viola la proprietà di heap
  3. CLo si inserisce nella posizione ordinata spostando di un posto a destra tutti gli elementi più grandi
  4. 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?

  1. AAll'indice 6
  2. BAll'indice 0
  3. CAll'indice 3
  4. 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?

  1. AAll'indice ⌊(i − 1) / 2⌋
  2. BAll'indice 2i + 1
  3. CAll'indice ⌊i / 2⌋ + 1
  4. 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)?

  1. AUna lista concatenata semplice degli elementi della finestra
  2. BUn min-heap ricostruito per ogni finestra
  3. CUn array ordinato aggiornato con spostamenti
  4. 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)?

  1. AUn min-heap che contiene tutti gli n valori, da cui alla fine si estraggono i k più piccoli
  2. BUn array ordinato di tutti gli n valori
  3. CUn max-heap di dimensione k, di cui si sostituisce la radice quando arriva un valore più piccolo
  4. DUna coda FIFO degli ultimi k valori

Soluzioni

  1. 1. D · Inserire all'inizio
  2. 2. D · Sottoalbero sinistro, poi sottoalbero destro, poi nodo
  3. 3. C · Una lista dei suoi vertici adiacenti
  4. 4. B · Lo si pone alla fine dell'array e lo si fa risalire finché viola la proprietà di heap
  5. 5. D · All'indice 4
  6. 6. A · All'indice ⌊(i − 1) / 2⌋
  7. 7. D · Una deque che contiene indici in ordine decrescente di valore
  8. 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.