Академический Документы
Профессиональный Документы
Культура Документы
Qu es?
En que consiste?
Analisis
Implementacin en c
Expresin de recurrencia
Mtodo iterativo
rbol de recurrencia
Mtodo maestro
Qu es?
En que consiste?
2.
3.
4.
1.
2.
3.
PSEUDOCDIGO
funcin quickSort (RegistroT *a, entero p, entero r)
comienza
si p < r entonces
q particionar (a, p, r)
quickSort (a, p, q1)
quickSort (a, q+1, r)
fin si
fin
Particionar(*a,p,r)
X a[r]
ip-1
for jp to r-1
do if a[j]<= x
then ii+1
a[i]a[j]
a[i+1]a[r]
return i+1
Anlisis
Particin balanceada
Particin no balanceada
Recurrencia T(n)=T(n-1)+O(n).
O(
Recurrencia T(n)=2T(n/2)+O(n)
Particionamento balanceado
Caso promedio mas cerca del mejor caso que del peor
Recurrencia T(n)=T(9n/10)+T(n/10)+n
Ventajas:
Muy rpido
Desventajas:
Implementacin un poco ms complicada.
Recursividad (utiliza muchos recursos).
Mucha diferencia entre el peor y el mejor caso.
Implementacin en c
Expresin de recurrencia
Mtodo iterativo
T(1)=1
T(n)=2T(n/2)+n
2. T(n)= 2T(n/2)+n
T(n/2)= 2T(n/4)+n/2
T(n/4)= 2T(n/8)+n/4
T(n/8)= 2T(n/16)+n/8
3. T(n)= n+2(n/2+2(n/4+2(n/8+2T(n/16))))
= n+2*n/2+2*2*n/4+2*2*2*n/8+2*2*2*2T(n/16)
4.
5.
6.
7.
Mtodo maestro
T(1)=1
T(n)=2T(n/2)+n
a=2
b=2
c=1
k=1
rbol de recurrencia