Estoy aprendiendo CLRS 3ª edición y esta es una de las preguntas más difíciles que he encontrado junto con su respuesta como un servicio para todos.quicksort e inserción ordenar el tiempo de espera esperado híbrido
7.4-5 podemos mejorar el tiempo de ejecución de la ordenación rápida en la práctica mediante el aprovechamiento del tiempo rápida ejecución de la ordenación por inserción cuando su entrada es “casi” ordenadas. Al llamar al quicksort en un subcampo con menos de k
elementos, simplemente devuelva sin ordenando el subcampo. Después de que la llamada de nivel superior al quicksort regrese, ejecute la ordenación de inserción en toda la matriz para finalizar el proceso de clasificación. Supongamos que este algoritmo de ordenación se ejecuta en el tiempo esperado O(nk+nlg(n/k))
. ¿Cómo debemos elegir k
, ambos en teoría y en la práctica?
Excelente observación, gracias. Editaré la respuesta. –