Estratto del documento

Codice di InsertionSort

Codice di InsertionSort:

public class ArrayAlgs {
    ...
    public static void insertionSort(int[] v, int vSize) {
        for (int i = 1; i < vSize; i++) {
            int temp = v[i]; //nuovo el. da inserire
            int j;
            for (j = i; j > 0 && temp < v[j-1]; j--)
                v[j] = v[j-1];
            v[j] = temp; // inserisci temp
        }
    }
    ...
}

Ordiniamo con inserimento un array di n elementi

  • Ciclo esterno n-1 esegue iterazioni
  • Ad ogni iterazione vengono eseguiti 2 accessi (uno prima del ciclo interno ed uno dopo)
    • Il ciclo interno
  • 3 accessi per ogni sua iterazione

Quante iterazioni esegue?

Dipende da come sono ordinati i dati.

Caso peggiore

I dati sono ordinati al rovescio:

  • Ciascun nuovo elemento inserito richiede lo spostamento di tutti gli elementi alla sua sinistra perché deve essere inserito in posizione 0.

Caso migliore

I dati sono già ordinati:

  • Il ciclo più interno non esegue mai iterazioni, quindi richiede un solo accesso per la prima verifica.
  • Il ciclo esterno esegue n-1 iterazioni. Ad ogni iterazione vengono eseguiti
    • 2 accessi (uno prima del ciclo interno ed uno dopo)
    • 1 accesso (per verificare la condizione di terminazione del ciclo interno)

Caso medio

I dati sono in ordine casuale:

  • In media, ciascun nuovo elemento inserito richiede lo spostamento di metà degli elementi alla sua sinistra.

Anteprima
Vedrai una selezione di 1 pagina su 1
Informatica I - l'analisi delle prestazioni di InsertionSort Pag. 1
1 su 1
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher enricopava di informazioni apprese con la frequenza delle lezioni di Informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Padova o del prof Avanzini Federico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community