Вы находитесь на странице: 1из 3

Casos del Algoritmo Quick Sort

Quicksort no tiene complejidad de todos los casos. Solo analizaremos el peor de los casos y el caso promedio. PEOR DE LOS CASOS, COMPLEJIDAD DEL TIEMPO Operacin bsica: La comparacin de S[1] con el elemento de divisin en particin. Tamao de entrada: n, el nmero de elementos en el arreglo S. Raramente sucede que el peor de los casos, ocurre cuando el arreglo ya esta ordenado en un orden ascendente. Si el arreglo esta ordenado ascendentemente, ningn elemento es menor que el primer elemento en el arreglo, el cual es el elemento de divisin. Por lo tanto, cuando la particin es llamada en el nivel superior, ningn elemento es posicionado a la izquierda del elemento de divisin y el valor del elemento de divisin asignado por particin es 1. Similarmente, en cada llamada recursiva el elemento divisin recibe el valor de bajo. Por lo tanto el arreglo es particionado repetidamente en un subarreglo vaco a la izquierda y un subarreglo con un elemento menos a la derecha. Para la clase de instancias que ya han sido ordenadas en orden ascendente, tenemos T(n) = T(0) + T(n-1) + n 1 T(0) tiempo para ordenar el subarreglo de la izquierda. T(n-1) tiempo para ordenar el subarreglo de la derecha. n-1 tiempo para la particin. Estamos usando la notacin T(n) por que estamos determinando presentemente la complejidad de todos los casos para la clase de infancias que ya han sido ordenadas en orden ascendente. Por que T(0) = 0, tenemos la recurrencia T(n) = T(n-1) + n-1 para n > 0 T(0) = 0. La solucin es T(n) = n (n-1) / 2 Hemos establecido que el peor de los casos es por lo menos n(n-1) / 2. Aunque intuitivamente podra parecer que esto es tan malo como se puede poner, de todos modos necesitamos mostrar esto. La ltima desigualdad es por la hiptesis de la induccin. Las manipulaciones algebraicas muestran que para 1 <= p <=n esta ultima expresin es <= n(n-1) / 2. Esto completa la prueba de induccin. Hemos comprobado que el tiempo del peor de los casos es dada por:

W(n) = n(n-1) / 2 (n). El peor de los casos ocurre cuando el arreglo ya ha sido ordenado por que siempre escogemos el primer elemento para el elemento divisin. Por lo tanto, si tenemos razn de creer que el arreglo esta cercano a ser ordenado, esta no es una Buena opcin para el elemento divisin. En el peor de los casos este algoritmo no es mas rpido que el ordenamiento de intercambio (Exchange sort). Entonces por que este algoritmo es llamado ordenamiento rpido (quicksort)? Como veremos, es en su comportamiento del caso promedio en que quicksort obtiene su nombre. COMPLEJIDAD DEL TIEMPO DEL CASO PROMEDIO Operacin bsica: la comparacin de S[i] con el elemento de divisin en particin. Tamao de entrada: n, el nmero de elementos en el arreglo S. Asumiremos que no tenemos razn de creer que los nmeros en el arreglo estn en un orden en particular, y por lo tanto que el valor del elemento de divisin regresado por la particin podra ser igualmente cualquiera de los nmeros desde 1 hasta n. Si no hubiera razn para creer en una distribucin diferente, este anlisis no seria factible. El promedio obtenido es, por consiguiente, el tiempo de ordenamiento promedio cuando cada ordenamiento posible es ordenada el mismo nmero de veces. El comportamiento del mejor caso del algoritmo de quicksort ocurre cuando en cada paso de la recursion en la particion produce dos partes de igual longitud.(fig a). El peor caso ocurre cuando en cada paso de la recursion se produce una particion desbalanceada, principalmente esa parte consiste en un solo elemento y la otra parte consiste en el resto de los elementos.(fig c). La profundidad de recursion es de n-1 y el tiempo de ejecucion de quicksort es O(n). En el caso promedio se espera la particion mostrada en la figura b. Para poder ordenar n elementos en este caso el tiempo de ejecucion es O(nlog(n)).Esto es porque la profundidad de recursion es log(n) y en cada nivel hay n elementos para ser procesados.

Ir a pagina principal.

Вам также может понравиться