[ Foro de Pascal ]

Ordenamiento QuickSort Iterativo

10-Nov-2014 01:03
Invitado (Agustina)
3 Respuestas

Hola, me han pedido una actividad en la facu que consiste en aplicar de forma iterativa el ordenamiento QuickSort. En clase solo lo se ha explicado de forma recursiva, pero yo no le encuentro la vuelta de hacerlo iterativo. Nos han pedido que apliquemos 2 pilas solo eso. Alguna recomendacion?


10-Nov-2014 01:29
Nacho Cabanes (+30)

Las llamadas recursivas generan valores temporales que se guardan en una pila. Simplemente quieren que imites "a mano" eso que las llamadas recursivas harían: memorizar en una pila los valores intermedios.

En el caso de QuickSort, se trata de un algoritmo de esos "que se estudian" y que es fácil encontrar con la ayuda de un buscador como Google. Por ejemplo, aquí tienes una implementación en C:

http://www.geeksforgeeks.org/iterative-quick-sort/

y aquí otra:

http://en.wikibooks.org/wiki/Algorithm_Implementation/Sorting/Quicksort#Iterative_Quicksort

o ésta en pseudocódigo:

http://en.wikibooks.org/wiki/Algorithm_Implementation/Sorting/Quicksort#Iterative_version

Convertirlo a Pascal no es demasiado trabajoso... ;-)


12-Nov-2014 01:59
Invitado (Agustina)

Gracias por la info, pero se me esta complicamndo los ejemplos en C, solo nos enseñan hasta ahora en pascal  : (   . Y ese pseudocodigo no lo entiendo muy bien. Si no es mucha molestia te pediria una mano de pasar algunos de los ej esos a pascal, asi lo puede ver bien como trabaja este forma de ordenar de forma iterativa. Gracias de antemano!.


12-Nov-2014 04:42
Invitado (Agustina)

Ya lo tengo, pude finalmente entender el pseudocodigo!  : )






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)