Nadie recuerda, ni siquiera puede saber, todos los algoritmos, por lo que tenemos trabajos de referencia donde podemos buscarlos. Ser consciente de ellos es, OTOH, importante, o al menos de la clase de algoritmos, para que cuando tenga un problema comprenda dónde encontrar los algoritmos apropiados.
Dicho esto, lo único que los programadores deben recordar sobre el tipo de burbuja es que nunca deberían usarlo. Parafraseando a Knuth, lo único que tiene es un nombre pegadizo. Para ordenar una pequeña cantidad de elementos, el orden de inserción suele ser aproximadamente el doble de rápido e implica menos código.
En mi opinión, hay cuatro tipos internos que los programadores deben tener en cuenta: clasificación de inserción (buena para unas pocas docenas de elementos), clasificación de Shell (unos pocos miles), clasificación de montón (buena para entradas grandes) y clasificación de fusión (entradas grandes si es extra) el almacenamiento requerido está disponible). Esos cuatro funcionan de manera predecible y son fáciles de implementar. Cosas como Quicksort pueden ser un poco más rápidas que (digamos) tipo de montón (quizás el doble de rápido), pero son mucho más difíciles de implementar bien.
- Visión por computadora: ¿Cuáles son algunas técnicas de detección de bordes ultrarrápidas y eficientes en memoria?
- ¿Qué tan preciso es el algoritmo de predicción de personalidad de Faception?
- En un algoritmo de búsqueda binaria existe la línea, si la clave == A [mid] return (mid + 1). ¿Por qué (mediados + 1)?
- ¿Dónde se usa el algoritmo de Dijkstra?
- ¿Qué viene después de aprender la biblioteca de plantillas estándar, las estructuras de datos y los algoritmos en C ++?
Pero, en general, los programadores deben usar una función de clasificación de la biblioteca, casi seguramente se habrá implementado con mucho más cuidado y más de lo que el programador puede dedicar a la tarea. Y para los tipos externos, un paquete de clasificación adecuado casi siempre funcionará mucho mejor que lo que puede hacer por un esfuerzo razonable. Lo que los programadores * deben * tener en cuenta es el rendimiento y la escala de la clasificación.