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
Che cosa definisce un albero binario?
- AOgni nodo ha al massimo due figli
- BL'albero ha esattamente due livelli
- COgni nodo ha esattamente due figli
- DOgni nodo memorizza un numero binario
2.Facile
Che cos'è una deque (coda a doppia estremità)?
- ADue code separate che condividono un array
- BUna coda ordinata per priorità
- CUna struttura che permette inserimenti e rimozioni a entrambe le estremità
- DUna coda che permette rimozioni solo in fondo
3.Facile
Nella rappresentazione di un grafo con liste di adiacenza, che cosa si memorizza per ogni vertice?
- AUna lista dei suoi vertici adiacenti
- BIl numero totale di archi del grafo
- CIl cammino minimo verso ogni altro vertice
- DUna riga di V valori booleani
4.Media
A che cosa serve un nodo sentinella (fittizio) in una lista concatenata?
- AA rendere la lista ordinata
- BA memorizzare il numero di elementi
- CA impedire che la lista cresca oltre un numero massimo fisso di nodi
- DA semplificare il codice eliminando i casi particolari in testa o in coda
5.Media
Qual è il valore dell'espressione postfissa 3 4 + 2 * ?
- A11
- B10
- C14
- D24
6.Media
Qual è la complessità temporale della ricerca di una chiave in un albero binario di ricerca bilanciato?
- AO(log n)
- BO(1)
- CO(n log n)
- DO(n)
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
Un array dinamico raddoppia quando è pieno. Perché molte implementazioni lo riducono solo quando è pieno per un quarto, e non per metà?
- APer mantenere l'array ordinato
- BPerché dimezzare a metà farebbe perdere elementi
- CPerché l'allocatore di memoria può liberare memoria solo a quarti di blocco
- DPer evitare ridimensionamenti ripetuti quando push e pop si alternano vicino alla soglia