RICERCA SITO

Algoritmi di ordinamento così come sono

L'ordinamento è un accordooggetti in un determinato ordine, ad esempio in ordine decrescente o crescente. In generale, l'ordinamento degli elementi è la manipolazione più comune con i dati, che rende più facile trovare le informazioni corrette in futuro. Questo si applica in gran parte a vari sistemi di gestione di database. Gli algoritmi di ordinamento esistono attualmente in grandi numeri, sebbene abbiano caratteristiche simili (passaggi): confronto e permutazione degli elementi in coppie fino a quando la sequenza non diventa ordinata.

algoritmo di ordinamento di array

Gli algoritmi di ordinamento possono essere classificati ininterno ed esterno. I primi sono caratterizzati dal fatto che tutti gli elementi ordinati sono collocati nella RAM ed è possibile ottenere un accesso casuale a ciascuno di essi. Quest'ultimo può funzionare con i dati situati nella memoria esterna (nei file). L'accesso a tali elementi può essere implementato in modo sequenziale.

È più comodo ordinare gli oggetti quando sononella struttura di un array unidimensionale. Ogni elemento di questo tipo ha un numero di serie e l'elemento dell'array è accessibile per indice. Gli algoritmi di ordinamento in questo caso risultano essere i più semplici e comprensibili per l'uso.

Considerare un algoritmo di ordinamento interno perdecrescente con il metodo Bubble e la sua versione migliorata, che differiscono nel tempo impiegato per l'ordinamento. L'ordinamento per il metodo bolla ha in realtà molti nomi. Viene anche chiamato il metodo di ordinamento lineare o il metodo di selezione degli scambi per scelta. Ma, comunque, non è un nome. Perché una bolla? Una volta in acqua, la bolla d'aria fluttuerà, poiché è più facile. Quindi, per esempio, quando si ordina in ordine ascendente, il più piccolo degli elementi apparirà in alto.

algoritmi di ordinamento

Consideriamo la prima variante dell'algoritmo di ordinamento di un array con un metodo a bolle. L'algoritmo verbale per l'ordinamento di un array che ha l'identificatore mas ed è costituito da N elementi si presenta così:

1. Posiziona l'elemento più grande dell'array al posto del primo elemento (mas [1]). Per questo lo confronteremo a turno con tutti gli elementi rimanenti (mas [2], mas [3] ... mas [N]). Se risulta che uno degli elementi rimanenti è maggiore di mas [1], allora è necessario scambiarli (tramite la variabile aggiuntiva buf).

2. Dopo aver escluso l'elemento mas [1] dalla considerazione, ripetere il paragrafo 1 per l'elemento mas [2].

3. Queste azioni dovrebbero essere ripetute per tutti gli elementi tranne l'ultimo.

Implementazione dell'algoritmo di classificazione delle bolle in Pascal:

algoritmo di ordinamento di array

Informazioni sulla seconda opzione (un metodo miglioratobolla) possiamo dire che questo è un algoritmo di ordinamento rapido. Quindi, se si tenta di usarlo per ordinare una matrice già ordinata, l'algoritmo finirà il suo lavoro dopo il primo passaggio attraverso gli elementi della matrice. Quindi, non spenderemo le risorse di calcolo del sistema e il tempo per un confronto senza senso degli elementi.

Ecco l'implementazione di questo algoritmo di ordinamento per il linguaggio di programmazione Pascal:

algoritmo di ordinamento rapido

Quindi, gli algoritmi di ordinamento sono un mezzo per ordinare sequenze di dati. Quando si sceglie un particolare algoritmo, è necessario tenere conto dei costi in termini di tempo e risorse del sistema.

</ p>
  • valutazione: