INFOPedia : PRGOrdinamento

HomePage :: Categorie :: Indice :: Ultime modifiche :: Ultimi commenti :: Login/Registrazione

PROBLEMA DELL'ORDINAMENTO


Preso un insieme S, diciamo che questo è totalmente ordinato se in esso è definita una relazione d’ordine \le tale che \forall x,y \in S si ha che x \le y oppure y \le x.

Esempi di insiemi totalmente ordinati sono:

La relazione d'ordine che intercorre tra gli elementi dell'insieme può essere:

PROBLEMA DELL’ORDINAMENTO
Siano x_1, x_2, … , x_n elementi presi da un insieme totalmente ordinato secondo una relazione d’ordine \le (per esempio Z).
Il problema dell’ordinamento (sort) consiste nel determinare una permutazione \sigma degli elementi in modo che: x \sigma_1 \le x \sigma_2 \le … \le x \sigma_n
Un algoritmo di ordinamento è un algoritmo che viene utilizzato per ordinare (in ordine crescente o decrescente) gli elementi di un insieme (in genere una lista o un array).

ORDINAMENTO ADATTIVO
Solitamente un algoritmo di ordinamento sfrutta operazioni di confronto e scambio. Se tali operazioni vengono svolte in modo indipendente dai dati di input l'algoritmo viene definito non adattivo. Mentre se un metodo di ordinamento esegue diverse sequenze di operazioni in funzione del risultato dei confronti si ha un algoritmo adattivo.

STABILITA’ DI UN ALGORTIMO
Un metodo di ordinamento si dice stabile se preserva l'ordine relativo dei dati con chiavi uguali all'interno del file da ordinare.
Ad esempio se si ordina per anno di corso una lista di studenti già ordinata alfabeticamente, un metodo stabile produce una lista in cui gli alunni dello stesso anno sono ancora in ordine alfabetico, mentre un ordinamento instabile probabilmente produrrà una lista senza più alcuna traccia del precedente ordinamento.
La stabilità può essere forzata aggiungendo prima dell'ordinamento un piccolo indice a ciascuna chiave o allungando in qualche altro modo le chiavi sulle quali operare.



Torna a Programmazione e Lab.

Non ci sono commenti in questa pagina. [Scrivi commento]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.1
La pagina è stata generata in 0.4942 secondi