1.Facile
Qual è la differenza principale tra un array statico e un array dinamico?
- AUn array statico permette un accesso per indice più lento
- BUn array dinamico memorizza gli elementi in nodi collegati così può crescere un elemento alla volta
- CUn array dinamico può crescere spostandosi in un blocco di memoria più grande
- DUn array statico può memorizzare solo numeri
2.Facile
Un grafo è composto da:
- ARighe e colonne
- BSolo una radice e delle foglie
- CVertici (nodi) collegati da archi
- DSolo chiavi e hash
3.Facile
Che cos'è il fattore di carico di una tabella hash?
- AIl tempo necessario per caricare la tabella dal disco
- BIl numero di elementi memorizzati diviso per il numero di bucket
- CIl numero di bucket diviso per la lunghezza media delle chiavi memorizzate
- DIl numero di collisioni avvenute finora
4.Media
In una tabella hash con indirizzamento aperto, qual è il massimo fattore di carico possibile?
- A0,5
- B1
- CNon c'è un massimo
- D2
5.Media
Quanto tempo serve per verificare se l'arco (u, v) esiste usando una matrice di adiacenza?
- AO(E)
- BO(log V)
- CO(1)
- DO(V)
6.Media
Quanto dura la ricerca di una parola di lunghezza L in un trie con alfabeto fisso?
- AO(n), dove n è il numero di parole
- BO(log n), dove n è il numero di parole
- CO(L), indipendentemente da quante parole sono memorizzate
- DO(L × n)
7.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
- CPer evitare ridimensionamenti ripetuti quando push e pop si alternano vicino alla soglia
- DPerché l'allocatore di memoria può liberare memoria solo a quarti di blocco
8.Difficile
La complessità temporale di decrease-key in un heap binario (nota la posizione dell'elemento) è:
- AO(n)
- BO(n log n)
- CO(log n)
- DO(1)
Soluzioni
- 1. C · Un array dinamico può crescere spostandosi in un blocco di memoria più grande
- 2. C · Vertici (nodi) collegati da archi
- 3. B · Il numero di elementi memorizzati diviso per il numero di bucket
- 4. B · 1
- 5. C · O(1)
- 6. C · O(L), indipendentemente da quante parole sono memorizzate
- 7. C · Per evitare ridimensionamenti ripetuti quando push e pop si alternano vicino alla soglia
- 8. C · O(log n)
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.