Questa è una vecchia versione del documento!
Indice
Esercitazione: Ordinamento
Esercizio 1: Ordinare una array di valori binari (0/1)
Implementare una funzione ordinaBin
che ordina un array di valori binari (0/1) mettendo prima tutti i valori uguali a 0 e poi tutti qulli uguali ad 1. E' possibile realizzare la funzione ispezionando ogni elemento dell'array una sola volta. Come ?
Esercizio 2: Selection sort, Merge Sort, quicksort
Scrivere tre funzioni che implementano gli algoritmi di ordinamento visti a lezione su array di double.
Valutare i tempi di esecuzione su array di double lunghezza crescente generati casualmente nell'intervallo [0,1](usare il comando time
). Ci sono delle variazioni ?
Cercare una formula (approssimata) che fornisca il numero di istruzioni eseguite dai tre algoritmi di ordinamento in funzione di n, lunghezza dell'array da ordinare.
Esercizio 3: (avanzato) Usare il ''qsort()'' della libreria standard C
La libreria standard C mette a disposizione una implementazione dell'algoritmo quicksort “generica” ovvero che può essere utilizzata con array di elementi di uno qualsiasi dei tipi base C. LA funzione ha il seguente tipo: