Nwlapcug.com


Vantaggi e svantaggi del Bubble Sort

I programmatori che passano dallo sviluppo web e PC in codifica per i dispositivi mobili o trovare sistemi embedded che viene impiegato più tempo selezionando e le proprie strutture dati e algoritmi di codifica. Con meno memoria e storage di dati limitati, non c'è spazio per librerie pre-costruite o quadri. Così, per chi ha bisogno di scrivere la propria routine di ordinamento, Ecco alcune considerazioni su come scegliere l'ordinamento a bolle umile.

Priorità bassa

L'ordinamento a bolle è un semplice algoritmo che ordina un elenco di elementi in memoria. Data una matrice, il codice ripetutamente confronta ogni coppia di elementi adiacenti e scambia li se non sono in ordine. Il processo viene ripetuto finché non si verificano non più swap. Se fosse possibile visualizzare la matrice, mentre il genere è in corso, i valori bassi sarebbero "bubble" verso l'alto mentre i valori di grandi dimensioni sarebbero sprofondare verso il basso. Ecco il codice relativo a Visual Basic 2010:

Mentre swap = True

swap = False

Per i = 0 To tbl.length - 2

If tbl(i) > tbl(i + 1) Then

tmp = tbl(i)

tbl(i) = tbl(i + 1)

tbl(i + 1) = tmp

swap = True

End If

Successivo

End While

Quando scegliere l'ordinamento a bolle

Questo algoritmo ha diversi vantaggi. È semplice da scrivere, facile da capire e ci vogliono solo poche righe di codice. I dati vengono ordinati in posto così c'è poco overhead di memoria e, una volta risolto, i dati sono in memoria, pronto per l'elaborazione. Lo svantaggio maggiore è la quantità di tempo che necessario per ordinare. Il tempo medio aumenta quasi esponenzialmente il numero della tabella elementi aumentano. Dieci volte il numero di elementi prende quasi cento volte più a lungo per ordinare.

Altri tipi di matrice

Algoritmi di ordinamento variano in complessità, velocità e costi generali. L'ordinamento a bolle è meno complesso, ma anche uno dei più lenti. Altri tipi di basata su array come l'ordinamento per inserimento e cambio ordinamento sono un po' più veloce, ma prendere più codice (vedere i riferimenti riportati di seguito). Il vantaggio principale di genere basate su array sono che usano il codice minimo e prendere la quantità minima di memoria di lavoro. Considerare questi tipi per matrici semplici con meno di qualche centinaia di elementi.

Algoritmi di ordinamento complesse

Grandi insiemi di dati richiedono codice più complesso e più memoria. L'ordinamento rapido e sorta di heap sia diviso e copiare i set di dati per ottimizzare il numero di confronti. L'ordinamento rapido continuamente divide l'elenco poi si ricompone in base all'ordinamento. L'ordinamento dell'heap copia i dati in una struttura ad albero, quindi attraversa la struttura ad albero per copiare i dati nell'ordine. Entrambi sono veloci ed efficienti, ma prendere più codice e archiviazione di lavoro molto di più. Scegliere questi algoritmi per grandi insiemi di dati.