“Conocimiento Programación>Lenguajes De Programación

Comparación de los algoritmos de ordenación

2013/5/31
Con literalmente docenas de algoritmos de clasificación disponibles , determinar qué funciona mejor con su sistema dependerá de la comparación de varios factores , como el tamaño de la lista , la velocidad o la complejidad del algoritmo, y si va a utilizar una clave para clasificar . Complejidad

La complejidad de un algoritmo de clasificación se mide por O ( n), o el "orden de n ", donde n es el tamaño de la lista. Mide el número de pases que se necesita para ordenar la lista y calcula su mejor momento , lo peor y promedio para hacerlo. Complejidades comunes incluyen N como un mejor de los casos para las clases tales como la ordenación por inserción y la cáscara especie , n log n , ( utilizando un logaritmo en base 2 , no una base - 10 ) , que es la complejidad para el tipo de mezcla y heapsort , y n ² , que es más lenta que la primera vez y es la velocidad de ordenación por selección
lista Condición

veces usted sabrá cómo se organizan los elementos no ordenados en una lista. : Por ejemplo , si están casi ordenados , en orden inverso , o una lista con algunos artículos únicos . Este conocimiento ayuda a seleccionar un algoritmo eficiente para solucionar el problema . Por ejemplo , el uso de la ordenación por inserción para ordenar una lista en orden inverso tiene una duración de n ² , mientras que pila de clasificación se puede hacer más rápido , en el n log n tiempo. En una lista que está casi resuelto , la ordenación por inserción es más rápido que el almacenamiento dinámico de clasificación . Si la lista contiene un conjunto completamente al azar de datos , seleccione un algoritmo con un caso de complejidad media de n log n tiempo de funcionamiento , tales como pila de clasificación , ordenación rápida o fusionar especie .
Lista Tamaño

Algunos algoritmos son más difíciles de usar que otros, por lo que el número de elementos en una lista y con qué frecuencia usted necesita para ordenar puede ayudar a determinar el algoritmo que se elija . Géneros como la ordenación por inserción son rápidos y funcionan bien al ordenar listas más pequeñas , y son fáciles de implementar, pero son lentos con listas grandes. Ordena que utilizan un divide y vencerás algoritmo como quicksort e incorpórate tipo son más difíciles de implementar , pero las listas de clase más grandes más rápido que en los casos en promedio.
Estabilidad

Estabilidad algoritmo describe si el tipo mantiene el orden de los elementos en función de una clave de clasificación. Por ejemplo , utilizando el primer carácter como clave para una lista que tiene "John ", " Steve" y " Jim" en ese orden, un establo tipo de algoritmo de la lista de " John ", "Jim" y " Steve ", mientras que un algoritmo inestable puede o no puede resolver " Jim " antes de "John ". Combinar especie , tipo de inserción y burbuja tipo son estables , mientras que todos los algoritmos de tipo concha , ordenación por selección y pila de clasificación no son .

Lenguajes De Programación
Cómo recuperar un hipervínculo de una celda en GridView
Enumere los tipos de datos utilizados en la Declaración de variables
¿Programas increíblemente complicados que aceptan a otros como entrada y generan una salida de archivo de objeto ejecutable binario?
¿Cómo es string QBasic para múltiples líneas
Cómo encontrar los registros duplicados en una tabla
Cómo ordenar las columnas de DataGrid
Cómo convertir un polígono a una ruta
¿Cómo aumentar el rendimiento de un informe de Crystal para que se ejecute más rápido
Conocimiento de la computadora © http://www.ordenador.online