Di Visual metodo di ordinamento di base

August 9

Molte lingue più anziani forniscono una struttura a matrice, ma non alcun modo diretto per ordinare l'array. Questo lascia al programmatore di scrivere i propri metodi di ordinamento per adattarsi alla situazione. Visual Basic fornisce un metodo di ordinamento che funziona bene nella maggior parte dei casi. La velocità di ordinamento dei dati è la chiave, in modo da capire la notazione che descrivono la velocità dell'algoritmo è critica.

Notazione O-grande

Prima di discutere i vantaggi e gli svantaggi di un ordine di Visual Basic, aiuta ad avere un corso accelerato rapido sulla notazione "Big O". Questo regime prevede informatico con un modo veloce di descrivere quanto velocemente un algoritmo lavora su grandi insiemi di dati. I valori possibili Big O per una corsa algoritmo, dal più veloce al più lento:

O (1) <O (log N) <O (N) <O (N log N) <O (N2)

Se un algoritmo viene eseguito in "O (1)", quindi ci vorrà la stessa quantità di tempo, non importa la quantità di dati è nel set. Se viene eseguito in "O (N)" tempo, allora il tempo aumenta allo stesso tasso che la quantità di aumento di dati. Se viene eseguito in "O (N2)" il tempo, il tempo aumenterà drammaticamente con ogni pezzo aggiunto di dati.

Circa il metodo Sort

Il metodo sorta di Visual Basic utilizza l'algoritmo Quicksort. In media, il Quicksort può essere eseguito in O (N log N) tempo. Anche se questo è verso il lato più lenta dei valori Big O, ordinamento è un'operazione relativamente tempo e O (N log N) è veloce per un algoritmo di ordinamento. La maggior parte degli algoritmi di ordinamento eseguito in O (N2).

Anche il Quicksort non è perfetto: i dati che vengono ordinati in ordine inverso esatto avranno ancora bisogno di O (N2) con il Quicksort.

vantaggi

Il più grande vantaggio di utilizzare un ordine di Visual Basic è che si tratta di codice matura utilizzando un algoritmo di ordinamento ben noto. Microsoft ha già scritto e testato il codice, in modo tutto ciò che resta per il programmatore è di chiamare su di essa. Hanno anche scegliere l'algoritmo Quicksort che, in circostanze normali, è tra i più veloci algoritmi di ordinamento per i dati generici.

Situazioni non idonei

Il metodo di ordinamento predefinito ha alcuni svantaggi. Il più grande è che, mentre lo fa meglio di altri algoritmi di ordinamento con dati non ordinati, se il programmatore sa in anticipo che i dati ottenuti non essere quasi perfettamente allineati, allora può normalmente eseguire la selezione Ordina in modo più rapido. L'ordinamento per selezione medie O (N2) per dati non ordinati, che è molto più lento del Quicksort, ma eseguito in O (N) per i dati che è già o quasi già ordinati, che è molto più veloce di Quicksort. Inoltre, se i dati da ordinare viene letto da una sorgente di dati dove prende drammaticamente più tempo per scrivere i dati di leggerlo (ad esempio un'unità flash USB), selection sort è più veloce.