2012-06-13 33 views
5

Me arriesgo a que esta pregunta se cierre antes de obtener una respuesta, pero realmente quiero saber la respuesta. Así que aquí va.Ejemplos del mundo real para decidir qué algoritmo de clasificación funciona mejor


actualmente estoy tratando de aprender algoritmos, y estoy empezando a entenderlo como tal, pero no puede relacionarse con ella.

Entiendo Complejidad del tiempo y Complejidad del espacio. También entiendo algunos algoritmos de clasificación basados ​​en el código de pseudo

algoritmos de ordenación como

  1. burbuja Ordenar
  2. ordenación por inserción
  3. Selección Ordenar
  4. ordenación rápida
  5. por fusión
  6. heapsort (Algo que)

También sé de Best Case y Worst Case escenarios (Media casera no tanto).


Algunas referencias pertinentes en línea

  • Nice place que muestra todo lo anterior de forma gráfica.
  • This me dio una buena comprensión también.

pero mi pregunta es - alguien puede darme ejemplos del mundo real, donde se implementan estos algoritmos de ordenación.

+2

http://stackoverflow.com/questions/1933759/when-is-each-sorting-algorithm-used –

+0

gracias por su respuesta, pero puede también proporcionar Por favor, ejemplos reales como, streaming de vídeo ordenación de datos, búsqueda de direcciones de personas con el primer nombre que comienza con K en un registro de un teléfono dirctory de más de 5 millones de personas. – Amey

Respuesta

7

A medida que aumenta el número de elementos, utilizará algoritmos de clasificación más sofisticados. Las últimas técnicas de clasificación tienen una sobrecarga inicial más alta, por lo que necesita una gran cantidad de elementos para ordenar para justificar ese costo. Si solo tiene 10 elementos, una ordenación de burbuja o inserción será mucho más rápida que una ordenación por fusión o por acumulación.

La complejidad del espacio es importante a tener en cuenta para dispositivos integrados más pequeños, como un control remoto de TV o un teléfono celular. No tienes suficiente espacio para hacer algo como un heapsort en esos dispositivos.

Las bases de datos usan una clasificación de combinación externa para ordenar conjuntos de datos que son demasiado grandes para cargarse completamente en la memoria. El factor de impulso en este tipo es la reducción en el número de E/S de disco.

Good bubble sort discussion, hay muchos otros factores a tener en cuenta que contribuyen a una complejidad de tiempo y espacio.

Sorting-Algorithms.com

+0

gracias por su respuesta, por lo que en ningún momento alguna vez tendrá que utilizar el tipo de ordenación por burbuja o de inserción en un escenario del mundo real? – Amey

+0

Si sabe que no tiene muchos elementos para ordenar, es mejor utilizar la ordenación por burbujas o por inserción. Programé un control remoto de TV que usaba un procesador MIPS y utilicé sort de burbuja para ordenar los canales en el tiempo de visualización más prolongado. Solo había 100 canales Además, si sabe que los elementos están en orden casi ordenado, un ordenamiento de burbuja es bueno porque terminará a una velocidad mucho mejor que el caso promedio de n/2 pases. – JustinDanielson

+0

Gracias Justin, ¿quieres editarlo (la parte de ordenación de burbujas) en tu resultado? Estoy marcando esto como la respuesta. – Amey

0

Un ejemplo es C++ STL tipo

como el wikipedia page dice:

biblioteca

El GNU Standard C++, por ejemplo, utiliza un híbrido de clasificación algoritmo: introsort se realiza primero, a una profundidad máxima dado por 2 × log2 n, donde n es el número de elementos, seguido de una inserción ordenando el resultado. 1 Cualquiera que sea la implementación, la complejidad debe ser O (n log n) comparaciones en promedio. [2]

Cuestiones relacionadas