El estudio definitivo de la clasificación es la disertación doctoral Bob Sedgewick. Pero hay mucha información buena en sus libros de texto de algoritmos, y esos son los dos primeros lugares en los que buscaría suite de pruebas y metodología. Si has tenido un curso reciente sabrás más que yo; La última vez que tuve un curso, el mejor método fue usar quicksort en particiones de tamaño 12, luego ejecutar la ordenación de inserción en toda la matriz. Pero las respuestas cambian tan rápido como el hardware.
Los libros Programming Perls de Jon Bentley tienen alguna otra información sobre clasificación.
Usted puede azotar rápidamente un conjunto de pruebas que contiene
Si la memoria sirve, estos son los casos más importantes para un algoritmo de ordenación.
Si está buscando ordenar matrices que no caben en la memoria caché, necesitará medir los efectos de la memoria caché. valgrind
es efectivo si es lento.
No tiene sentido pasar un argumento de tipo de valor como const. Supongo que tampoco hace daño, pero es ... inútil y detallado. – unwind
Si los algoritmos de clasificación son los algoritmos estándar correctamente implementados, entonces ya hay datos de análisis de complejidad disponibles (google it), ¿cuál es el propósito de hacer un análisis de soring? – Learner
@unwind: prefiero que los valores constantes se declaren como valores constantes. @learner: a) muchos no son estándar. b) tengo algoritmos que funcionan de manera diferente por máquina debido a la memoria y el almacenamiento en caché, lamentablemente las generalizaciones no son aceptables en estos casos. –