“Conocimientos Programación>Lenguajes De Programación

Comparación de los algoritmos de ordenación

2013/9/10
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 escribir un script AWK
Cómo quitar fines de línea de QString
¿Qué es una aplicación GUI
Cómo enviar datos del formulario HTML en un archivo de texto
Cómo crear una Pivot en VBA
Microsoft SQL Tutorial
Cómo recuperar archivos borrados
Cómo obtener nombres de campo de un conjunto de datos
Conocimientos Informáticos © http://www.ordenador.online