¿Quieres operaciones exactas o complejidad asintótica?
Para operaciones exactas, tendríamos que observar implementaciones específicas de los diferentes algoritmos de clasificación y comparar el número de intercambios y comparaciones entre objetos. Es por eso que la mayoría de las personas fuera de la academia no se molestan con eso, y solo miran la complejidad asintótica.
En términos de complejidad, es probable que necesite un algoritmo de clasificación que no dependa de elementos. Eso significa algo así como heapsort, mergesort o quicksort. Todos estos son [math] \ Theta (nlogn) [/ math]
- ¿Qué es Algoritmo, Diagrama de flujo y Pseudocódigo en la planificación de programas antes de escribir?
- ¿Cuál es la implementación más rápida del árbol de búsqueda binario? (auto-equilibrio)
- En IA, ¿los datos son más importantes que los algoritmos?
- ¿Utiliza un algoritmo de búsqueda lineal la estrategia de dividir y conquistar?
- Como senior que busca postularse a empresas como Google, Palantir, etc., ¿cómo puedo mejorar mis estructuras de datos avanzadas, algoritmos y cursos de bioinformática y tener más confianza en mí mismo al ingresar a un aula y no pensar automáticamente que soy estúpido? ?
Si sabe que solo está ordenando números, puede usar cosas como la Clasificación de cubos que le dará complejidades [matemáticas] \ Theta (n) [/ matemáticas]. Es imposible hacerlo mejor que eso, ya que al menos debes mirar cada elemento una vez.
Fuente: Big-O Algorithm Complexity Cheat Sheet