Colección de citas famosas - Slogan de motivación - Lenguaje C: si los registros originales están cerca del orden positivo o negativo, elija la clasificación en montón. Si los registros iniciales están desordenados, es mejor elegir la clasificación rápida. ¿Por qué es esto?

Lenguaje C: si los registros originales están cerca del orden positivo o negativo, elija la clasificación en montón. Si los registros iniciales están desordenados, es mejor elegir la clasificación rápida. ¿Por qué es esto?

1. Rendimiento de la clasificación del montón: la complejidad temporal es siempre Nlogn (N).

2. La clasificación rápida no pertenece a la clasificación in situ. Debido a que el programa usa la recursividad, requiere el soporte de una pila de llamadas recursivas, y la longitud de la pila depende de la profundidad de la llamada recursiva. En promedio, se requiere espacio de pila O (logn); en el peor de los casos, el espacio de pila puede alcanzar O (n).

1) La elección de los elementos divisorios es la clave para afectar el rendimiento del tiempo.

2) Cuanto más desordenado sea el orden de los datos de entrada, mejor será la aleatoriedad de los valores de los elementos de partición seleccionados y más rápida será la velocidad de clasificación. La clasificación rápida no es un método de clasificación natural.

3) Cambiar el método de selección para dividir elementos solo puede cambiar el rendimiento de tiempo promedio del algoritmo como máximo, pero no puede cambiar el peor rendimiento de tiempo. Es decir, en el peor de los casos, la complejidad temporal de la clasificación rápida es siempre O (n 2).