03: Ordinamento
46 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è il numero massimo di confronti richiesti dalla ricerca binaria?

  • log2 n (correct)
  • n!
  • n
  • 2n
  • La ricerca binaria può essere utilizzata su un vettore non ordinato.

    False

    Qual è la complessità temporale degli algoritmi di ordinamento quadratici nel caso peggiore?

    O(n^2)

    L'algoritmo _____ scambia elementi per creare una parte ordinata del vettore.

    <p>Insertion-sort</p> Signup and view all the answers

    Abbina gli algoritmi di ordinamento alle loro descrizioni:

    <p>Insertion-sort = Inserisce elementi nella parte ordinata Selection-sort = Seleziona il minimo e lo scambia Trivial-Sort = Genera tutte le permutazioni Bubble-sort = Scambia elementi adiacenti se non ordinati</p> Signup and view all the answers

    Quale tra i seguenti algoritmi non è un algoritmo di ordinamento quadratico?

    <p>Quick-sort</p> Signup and view all the answers

    Il numero di permutazioni è commisurato a n^2.

    <p>False</p> Signup and view all the answers

    Qual è l'idea principale della Insertion-sort?

    <p>Mantenere una parte ordinata e inserire l'elemento successivo nella posizione corretta.</p> Signup and view all the answers

    Qual è il numero massimo di volte che la riga 3 viene eseguita nel caso peggiore?

    <p>i</p> Signup and view all the answers

    Il tempo di esecuzione nel caso peggiore di questo algoritmo è lineare.

    <p>False</p> Signup and view all the answers

    Qual è la forma generale del tempo di esecuzione Tcp(n)?

    <p>Tcp(n) = an² + bn + c</p> Signup and view all the answers

    Il tempo di esecuzione nel caso peggiore è proporzionale a __________.

    <p>n²</p> Signup and view all the answers

    Abbina ciascuna riga con il numero di volte che viene eseguita:

    <p>Riga 3 = ti Riga 4 = ti - 1 Riga 5 = ti - 1 Riga 2 = n - 1</p> Signup and view all the answers

    Quale espressione rappresenta il tempo di esecuzione nel caso peggiore?

    <p>Tcp(n) = an² + bn + c</p> Signup and view all the answers

    Il numero di volte che la riga 4 viene eseguita è uguale a ti.

    <p>False</p> Signup and view all the answers

    La riga 2 viene eseguita con i = 2, 3,..., n, cioè __________ volte.

    <p>n - 1</p> Signup and view all the answers

    Qual è la forma generale del tempo di esecuzione nel caso migliore di Selection Sort?

    <p>Tcm(n) = an + b</p> Signup and view all the answers

    Nel caso migliore, l'algoritmo Selection Sort è quadratico.

    <p>False</p> Signup and view all the answers

    Qual è l'invariante del ciclo esterno in Selection Sort?

    <p>Il sottovettore A[1..i − 1] è ordinato.</p> Signup and view all the answers

    Il tempo di esecuzione Tcm(n) è espresso come _________ per grandi valori di n.

    <p>proporzionale ad an</p> Signup and view all the answers

    Abbina i passaggi di Selection Sort con le loro descrizioni:

    <p>Passo 1 = Inizializza i e imposta k = i Passo 2 = Cerca il minimo in A[i..n] Passo 3 = Scambia A[i] con A[k] Passo 4 = Incrementa i per migliorare la parte ordinata</p> Signup and view all the answers

    Quale affermazione è vera riguardo al ciclo interno di Selection Sort?

    <p>Il ciclo interno cerca sempre il minimo.</p> Signup and view all the answers

    Selection Sort può ordinare un vettore in meno di n scambi.

    <p>False</p> Signup and view all the answers

    Qual è il ruolo dell'istruzione if A[k] > A[j] nel ciclo interno?

    <p>Controlla se il valore corrente A[j] è il minimo.</p> Signup and view all the answers

    Quale invariante è mantenuta nel ciclo esterno dell'Insertion-Sort?

    <p>Il sottovettore A[1..i – 1] è ordinato.</p> Signup and view all the answers

    L'algoritmo Insertion-Sort è basato su un approccio di divisione e conquista.

    <p>False</p> Signup and view all the answers

    Qual è il valore iniziale di i nel ciclo esterno durante l'Insertion-Sort?

    <p>2</p> Signup and view all the answers

    L'invariante del ciclo interno afferma che i vettori A[1..j - 1] e A[j..i] sono ordinati e __________.

    <p>∀l, 1 ≤ l ≤ j − 1, ∀k, j + 1 ≤ k ≤ i, A[l] ≤ A[k]</p> Signup and view all the answers

    Abbina le seguenti variabili ai loro significati nel contesto dell'Insertion-Sort:

    <p>i = Indice del ciclo esterno j = Indice del ciclo interno A = Array da ordinare n = Numero di elementi nell'array</p> Signup and view all the answers

    Quanto tempo richiede l'esecuzione della riga i all'interno dell'Insertion-Sort?

    <p>ci unità di tempo per ogni esecuzione.</p> Signup and view all the answers

    Al termine del ciclo esterno, l'array è garantito di essere ordinato.

    <p>True</p> Signup and view all the answers

    Cosa deve avvenire affinché il ciclo interno dell'Insertion-Sort termini?

    <p>A[j - 1] ≤ A[j] o j = 1</p> Signup and view all the answers

    Qual è l'invariante dei cicli interni dell'algoritmo Selection-Sort?

    <p>A[k] è il minimo in A[i..j − 1]</p> Signup and view all the answers

    L'algoritmo Selection-Sort è corretto se l'invariante del ciclo interno viene mantenuta.

    <p>True</p> Signup and view all the answers

    Qual è la complessità temporale del Selection-Sort nel caso peggiore?

    <p>O(n^2)</p> Signup and view all the answers

    L’algoritmo Selection-Sort aggiorna l’indice del minimo ogni volta che la condizione _____ risulta sempre vera.

    <p>true</p> Signup and view all the answers

    Abbina i componenti dell'algoritmo alle loro funzioni:

    <p>A[k] = Minimo in A[i..j − 1] j = n + 1 = Condizione per uscita dal ciclo i = Indice corrente dell'elemento c1, c2, c3 = Unità di tempo per il conteggio delle righe</p> Signup and view all the answers

    Quale delle seguenti righe non conta nel tempo di esecuzione di Selection-Sort?

    <p>Riga 6</p> Signup and view all the answers

    La complessità temporale di Selection-Sort aumenta linearmente con il numero di elementi.

    <p>False</p> Signup and view all the answers

    Che cosa accade se j viene incrementato in ogni iterazione del ciclo interno?

    <p>Consente di analizzare tutti gli elementi dal minimo al massimo.</p> Signup and view all the answers

    Il tempo di esecuzione del Selection-Sort dipende dal numero di elementi del _____ .

    <p>vettore</p> Signup and view all the answers

    Abbina le varie righe del Selection-Sort con il loro scopo:

    <p>Riga 1 = Inizializzazione Riga 4 = Aggiornamento indice del minimo Riga 3 = Confronto Riga 2 = Incremento dell'indice</p> Signup and view all the answers

    Qual è il valore assegnato a c1, c2, c3, c4, c5 e c8 nel conteggio del tempo di esecuzione?

    <p>1</p> Signup and view all the answers

    Il ciclo interno dell'algoritmo Selection-Sort ha sempre il valore di j uguale a n.

    <p>False</p> Signup and view all the answers

    Qual è l'importanza dell'invariante nel ciclo di Selection-Sort?

    <p>Assicura la correttezza dell'algoritmo mantenendo il minimo.</p> Signup and view all the answers

    La forma polinomiale del tempo di esecuzione è di _____ grado rispetto a n.

    <p>secondo</p> Signup and view all the answers

    Study Notes

    Ordinamento (algoritmi quadratici)

    • Obiettivi: Apprendere algoritmi di ordinamento quadratici, invarianti e analisi di complessità.
    • Argomenti: Ordinamento, Insertion-Sort, Selection-Sort, analisi di correttezza e complessità.

    Problema dell'ordinamento (sorting)

    • Ricerca in vettori ordinati: La ricerca binaria su un vettore ordinato richiede al massimo log₂ n confronti.
    • Ricerca binaria (esempio):
      • Prevede un vettore ordinato.
      • Restituisce True se un elemento x è presente nel vettore, False altrimenti.
    • Ricerca sequenziale: Richiede, nel caso peggiore, n confronti per trovare l'elemento cercato in un vettore di n elementi.

    Insertion-Sort

    • Idea: Ordina un vettore inserendo elementi nell'ordine corretto nella parte già ordinata.
    • Inizializzazione: La parte iniziale del vettore (A[1..i-1]) è considerata ordinata.
    • Ciclo esterno: Il ciclo esterno itera da i=2 fino a n.
    • Ciclo interno: Questo ciclo effettua scambi per mantenere l'ordine crescente nella parte ordinata del vettore.
    • Simulazione con (2, 6, 3, 1, 5, 4): L'algoritmo posiziona gradualmente gli elementi nella loro corretta posizione nella parte ordinata del vettore.

    Dimostrazione della correttezza di Insertion-Sort

    • Invariante del ciclo esterno: Il sottovettore A[1..i-1] è ordinato.
    • Inizializzazione: Per i=2 è verificato dato che il sottovettore A[1..i-1] consiste di un solo elemento e quindi è ordinato.
    • Mantenimento: Se il sottovettore A[1..i-1] è ordinato al passaggio precedente, il ciclo interno fa lo scambio degli elementi per sistemare A[i] nella sua posizione corretta nel sottovettore ordinato.
    • All'uscita: Il vettore intero è ordinato.
    • Invariante del ciclo interno: Il sottovettore A[1..j-1] e A[j..i] sono ordinati e ogni elemento nel sottovettore A[1..j-1] è minore o uguale ad ogni elemento in A[j..i].

    Tempo di esecuzione di Insertion-Sort

    • Caso peggiore: L'algoritmo è quadratico (proporzionale a n²).
    • Caso migliore: L'algoritmo è lineare (proporzionale a n).

    Selection-Sort

    • Idea: Trova il minimo elemento del vettore e lo posiziona nella sua posizione corretta.
    • Ciclo esterno: Iterando da i=1 a n-1, la parte A[1..i-1] del vettore è già ordinata.
    • Ciclo interno: Trova il minimo elemento nel sottovettore A[i..n] e lo scambia con A[i].

    Dimostrazione della correttezza di Selection-Sort

    • Invariante del ciclo esterno: Il sottovettore A[1..i-1] è ordinato e contiene i numeri più piccoli del vettore.
    • Invariante del ciclo interno: A[k] è il minimo elemento in A[i..j-1].
    • All'uscita: Il vettore è ordinato.

    Tempo di esecuzione di Selection-Sort

    • Caso peggiore e migliore: L'algoritmo è quadratico (proporzionale a n²).

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Questo quiz mette alla prova la tua conoscenza sugli algoritmi di ordinamento e sulla ricerca binaria. Affronta domande riguardanti la complessità temporale, gli algoritmi quadrati e i principi fondamentali della ricerca. Scopri quanto conosci degli algoritmi essenziali nella programmazione.

    More Like This

    Binary Search Trees
    44 questions

    Binary Search Trees

    RefinedBowenite avatar
    RefinedBowenite
    Heap Sort Algorithm
    10 questions
    Use Quizgecko on...
    Browser
    Browser