Maturità: Ordinamento bubble sort merge

Ripasso delle nozioni fondamentali sull'ordinamento bubble sort e merge sort, due algoritmi utilizzati per ordinare sequenze di dati. Utile per prepararsi alla prova di maturità in informatica.

GabrieleR2·24 schede·24 domande
maturitàcomputer_sciencealgorithms
0
Lo so
1 / 24
0
Sto imparando
Fronte

Cos'è l'algoritmo bubble sort?

Tocca per girare
Retro

È un algoritmo di ordinamento che ripete più volte il passaggio attraverso la lista, confrontando elementi adiacenti e scambiandoli se sono nell'ordine sbagliato.

Tocca per girare
Lo so
Sto imparando

Quiz(24 domande)

Domanda 1 di 24

1. Qual è il principio di funzionamento del bubble sort?

Termini in questo set(24)

Bubble Sort(12)

Cos'è l'algoritmo bubble sort?

È un algoritmo di ordinamento che ripete più volte il passaggio attraverso la lista, confrontando elementi adiacenti e scambiandoli se sono nell'ordine sbagliato.

Vero o falso: Bubble sort è efficiente per grandi set di dati.

Falso. Bubble sort ha una complessità temporale di O(n2)\displaystyle O(n^2), quindi non è efficiente per grandi set di dati.

Qual è l'algoritmo base di bubble sort?

1. Inizia dalla prima posizione. 2. Confronta elementi adiacenti. 3. Scambia se necessario. 4. Ripeti fino a ordinamento completato.

Qual è il caso migliore per bubble sort?

Il caso migliore ha una complessità di O(n)\displaystyle O(n), che si verifica quando la lista è già ordinata.

Implementazione: Come si inizia a scrivere bubble sort?

Utilizza un ciclo annidato: il ciclo esterno per passare più volte e il ciclo interno per confrontare e scambiare elementi adiacenti.

Completa: La complessità spaziale di bubble sort è _____.

Costante: O(1)\displaystyle O(1), poiché utilizza solo variabili aggiuntive limitate.

Bubble sort è adatto per quali tipi di liste?

Liste piccole o quasi ordinate, dove il costo di esecuzione è accettabile.

Esempio di ordinamento: Lista [5, 3, 8, 4, 2]

[3, 5, 4, 2, 8] → [3, 4, 5, 2, 8] → [2, 3, 4, 5, 8]

Vero o falso: Bubble sort è stabile.

Vero. Bubble sort mantiene l'ordine relativo degli elementi uguali.

Qual è la principale limitazione di bubble sort?

La sua inefficienza su grandi dataset rispetto ad algoritmi più avanzati come quicksort.

Qual è la differenza tra bubble sort e insertion sort?

Bubble sort scambia elementi, mentre insertion sort costruisce una lista ordinata inserendo elementi uno alla volta.

Bubble sort può essere migliorato con la seguente tecnica:

Alcuni algoritmi implementano una flag per terminare l'ordinamento se non ci sono stati scambi nell'ultimo passaggio.

Merge Sort(12)

Cos'è l'algoritmo Merge Sort?

Merge Sort è un algoritmo di ordinamento basato sulla tecnica 'divide et impera'. Divide l'array in sottoarray, ordina i sottoarray e poi li unisce.

Qual è la complessità temporale di Merge Sort?

La complessità temporale di Merge Sort è O(nimesextlogn)\displaystyle O(n imes ext{log} n) nel caso migliore, peggiore e medio.

Vero o falso: Merge Sort è un algoritmo stabile.

Vero. Merge Sort mantiene l'ordine relativo degli elementi uguali.

Quali sono i passi di Merge Sort?

- Dividere l'array - Ordinare i sottoarray - Unire i sottoarray ordinati

Compila il vuoto: Merge Sort utilizza la strategia _______.

'divide et impera'.

Esempio di Merge Sort: ordina [38, 27, 43, 3, 9, 82, 10].

1. Dividere: [38, 27, 43], [3, 9, 82, 10] 2. Ordinare: [27, 38, 43], [3, 9, 10, 82] 3. Unire: [3, 9, 10, 27, 38, 43, 82].

Cosa fa la funzione di unione in Merge Sort?

La funzione di unione combina due array ordinati in un singolo array ordinato, confrontando gli elementi uno a uno.

Qual è il tipo di approccio di Merge Sort?

Approccio ricorsivo. Ogni chiamata ricorsiva gestisce una porzione dell'array.

Vero o falso: Merge Sort è più veloce di Quick Sort in tutti i casi.

Falso. In media, Quick Sort è più veloce, ma Merge Sort ha un tempo di esecuzione stabile.

Come si gestiscono gli array di lunghezza dispari?

Se l'array ha una lunghezza dispari, uno dei sottoarray avrà un elemento in più durante la divisione.

Qual è lo spazio addizionale richiesto da Merge Sort?

Merge Sort richiede O(n)\displaystyle O(n) spazio addizionale per l'array temporaneo utilizzato nell'unione.

Qual è un'applicazione pratica di Merge Sort?

Merge Sort è utilizzato in algoritmi di ordinamento per grandi dataset e in sistemi di gestione di database.

Domande in questo set(24)

1. Qual è il principio di funzionamento del bubble sort?

A.Confronta e scambia elementi adiacenti.
B.Ordina direttamente ogni elemento.
C.Usa divide et impera.
D.Genera permutazioni degli elementi.

2. Qual è la principale caratteristica dell'algoritmo Merge Sort?

A.Divide e conquista
B.Usa la programmazione dinamica
C.Ordina in modo casuale
D.Utilizza l'iterazione

3. Qual è la complessità temporale nel caso peggiore di bubble sort?

A.O(n)
B.O(n log n)
C.O(n^2)
D.O(1)

4. Qual è la complessità spaziale di Merge Sort?

A.O(n)
B.O(1)
C.O(n^2)
D.O(log n)

5. Quale dei seguenti è un vantaggio di bubble sort?

A.È facile da implementare.
B.È il più veloce tra gli algoritmi di ordinamento.
C.Richiede meno memoria.
D.Ordina sempre in modo ottimale.

6. Merge Sort è considerato un algoritmo:

A.Stabile
B.Instabile
C.Recursivo e iterativo
D.Solo iterativo

7. Qual è un caso in cui bubble sort potrebbe essere preferibile rispetto ad altri algoritmi?

A.Quando i dati sono già ordinati.
B.Quando i dati sono enormi.
C.Quando si vogliono velocizzare i tempi di esecuzione.
D.Quando si deve ordinare in ordine decrescente.

8. Quale di queste situazioni NON è un vantaggio di Merge Sort?

A.Stabilità nell'ordinamento
B.Efficiente su grandi dataset
C.Richiede meno spazio
D.Utilizza la ricorsione

9. Cosa accade se non ci sono scambi durante un passaggio di bubble sort?

A.L'algoritmo continua a girare senza fine.
B.La lista è già ordinata.
C.Si verifica un errore.
D.Si inverte l'ordine degli elementi.

10. Se un array ha 7 elementi, come vengono divisi durante la prima fase di Merge Sort?

A.[1, 2, 3], [4, 5, 6, 7]
B.[1, 2, 3, 4], [5, 6, 7]
C.[1, 2, 3], [4, 5, 6]
D.[1, 2, 3, 4, 5], [6, 7]

11. Quale delle seguenti affermazioni su bubble sort è falsa?

A.Bubble sort è un algoritmo stabile.
B.Bubble sort ha una complessità spaziale O(n).
C.Bubble sort è adatto per liste piccole.
D.Bubble sort può essere ottimizzato.

12. Qual è la complessità temporale di Merge Sort nel caso medio?

A.O(n log n)
B.O(n)
C.O(n^2)
D.O(log n)

13. Per quali tipi di dati è più adatto l'algoritmo bubble sort?

A.Per dati già ordinati o quasi ordinati.
B.Per grandi dataset non ordinati.
C.Per dati di dimensioni enormi.
D.Per dati in formato non numerico.

14. Qual è la principale differenza tra Merge Sort e Quick Sort?

A.Merge Sort è stabile, Quick Sort non lo è
B.Quick Sort è sempre più lento di Merge Sort
C.Merge Sort non è ricorsivo
D.Quick Sort utilizza la divisione in blocchi

15. Durante l'esecuzione di bubble sort, quante volte si deve passare attraverso la lista?

A.Al massimo n volte.
B.Almeno n log n volte.
C.Solo una volta.
D.Sempre fino a n^2 volte.

16. Cosa accade se due sottoarray hanno il medesimo elemento durante l'unione?

A.L'ordine può essere alterato
B.Vengono ignorati
C.Possono comparire entrambi nell'array finale
D.Viene restituito solo uno

17. Quale delle seguenti tecniche è utilizzata per ottimizzare l'algoritmo bubble sort?

A.Utilizzare una flag per indicare scambi.
B.Dividere la lista in sottoliste.
C.Utilizzare ricorsione.
D.Invertire l'ordine degli elementi.

18. In quale scenario Merge Sort è preferito rispetto ad altri algoritmi?

A.Quando i dati sono già ordinati
B.Quando si lavora con grandi file su disco
C.Quando la memoria è limitata
D.Quando l'array è molto piccolo

19. Qual è la principale limitazione di bubble sort rispetto ad altri algoritmi?

A.La sua complessità temporale elevata.
B.Non è stabile.
C.Non è facile da implementare.
D.Non ordina correttamente.

20. Quale di queste affermazioni è vera riguardo all'algoritmo Merge Sort?

A.Può essere implementato solo in modo iterativo
B.È più veloce di Bubble Sort
C.Richiede meno tempo di esecuzione in ogni caso
D.Non utilizza la ricorsione

21. Qual è la differenza principale tra bubble sort e selection sort?

A.Bubble sort scambia, selection sort seleziona.
B.Selection sort è più veloce.
C.Bubble sort usa ricorsione.
D.Selection sort è stabile.

22. Qual è la principale caratteristica della funzione di unione in Merge Sort?

A.Combina due array ordinati in un singolo array ordinato.
B.Copia semplicemente gli elementi senza ordinarli.
C.Semplifica l'array originale rimuovendo elementi duplicati.
D.Ordina l'array in ordine decrescente.

23. Com'è definito l'algoritmo bubble sort?

A.Un algoritmo di ordinamento che utilizza il confronto tra elementi.
B.Un algoritmo che ordina solo numeri interi.
C.Un algoritmo che crea una copia della lista.
D.Un algoritmo che ordina in modo ricorsivo.

24. Se si applica Merge Sort a un array di 10 elementi, quanti sottoarray si otterranno nella prima divisione?

A.Due sottoarray di 5 elementi ciascuno.
B.Un solo sottoarray di 10 elementi.
C.Tre sottoarray, uno di 4 e due di 3 elementi.
D.Cinque sottoarray di 2 elementi ciascuno.

Set correlati

Crea il tuo set di studio

Carica un PDF, incolla le tue note o descrivi un argomento – l'IA genera schede, quiz e altro in pochi secondi.