8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 1/27
Métodos deOrdenamientoTS - III
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 2/27
Métodos de Ordenamiento
Métodos Recursivos:
Mezcla (MergeSort)
QuickSort
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 3/27
Métodos Recursivos
Método de MergeSort
Se aplica la técnica divide y vencerás, dividiendo la
secuencia de datos en dos sublistas hasta ue las
sublistas tengan un !nico ele"ento, luego se ordenan
"ezclando dos sublistas ordenadas en una lista
ordenada, en #or"a sucesiva hasta obtener una
secuencia !nica ya ordenada$
Si n % & solo hay un ele"ento por ordenar, sino se hace
una ordenaci'n de "ezcla de la pri"era "itad del
arreglo con la segunda "itad$ as dos "itades se
ordenan de igual #or"a$ MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 4/27
Métodos Recursivos
Método de MergeSort: Ejemplo de simulación
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 5/27
Métodos Recursivos
Método de MergeSort:
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 6/27
Métodos Recursivos
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 7/27
Métodos Recursivos
Método de QuickSort l "étodo se basa en dividir los n ele"entos de la lista a ordenar
en dos partes o particiones separadas por un ele"ento
*na partici'n izuierda, un ele"ento central deno"inado pivote o
ele"ento de partici'n, y una partici'n derecha$
a partici'n se hace de tal #or"a ue todos los ele"entos de la
pri"era sublista (partici'n izuierda) son "enores ue todos losele"entos de la segunda sublista (partici'n derecha)$
as dos sublistas se ordenan entonces independiente"ente$
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 8/27
Métodos Recursivos
Método de QuickSort
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 9/27
Métodos Recursivos
Método de QuickSort
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 10/27
Métodos Iterativos
Métodos +terativos:
urbu-ao Si"pleo Me-orada
+nserci'n
Selecci'n
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 11/27
Métodos Iterativos
ur!uja Simple:
ste "étodo es uno de los "as si"ples, es tan #ácil
co"o co"parar todos los ele"entos de una lista contra
todos, si se cu"ple ue uno es "ayor o "enor a otro,
entonces los interca"bia de posici'n$
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 12/27
Métodos Iterativos
Ejemplo:
MMCV
.
/
&
0
1
ESTRATEGIA
2o"para"os todos contra todos, aun este"os
generando co"paraciones e3tras$
0
&
4
1
5
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 13/27
Métodos Iterativos
Ejemplo:"aso # para i $ #
MMCV
.
/
&
0
1
0
&
4
1
5
.
/
&
0
1
0
&
4
1
5
.
&
/
0
1
0
&
4
1
5
.
&
0
/
1
0
&
4
1
5
.
&
0
1
/
0
&
4
1
5
j$% j$# j$& j$'
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 14/27
Métodos Iterativos
Ejemplo:"aso & para i $ &
MMCV
.
&
0
1
/
0
&
4
1
5
&
.
0
1
/
0
&
4
1
5
&
0
.
1
/
0
&
4
1
5
&
0
1
.
/
0
&
4
1
5
&
0
1
.
/
0
&
4
1
5
v
v
v
v
j$% j$# j$& j$'
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 15/27
Métodos Iterativos
Ejemplo:"aso ' para i $ '
MMCV
&
0
1
.
/
0
&
4
1
5
0
&
1
.
/
0
&
4
1
5
0
&
1
.
/
0
&
4
1
5
0
&
1
.
/
0
&
4
1
5
0
&
1
.
/
0
&
4
1
5
v
v
v
v
j$% j$# j$& j$'
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 16/27
Métodos Iterativos
Método !ur!ujaS
pu!lic void !ur!ujaS ( )*int temp+,or (int i$#+ i-n+ i..)*
,or (int j$%+ j-n/#+ j..)*i, (01j2 3 01j.#2)*
temp $ 01j2+01j2 $ 01j.#2+
01j.#2 $ temp+4
44
4
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 17/27
Métodos Iterativos
Método !ur!ujaM
pu!lic void !ur!ujaM ( )*int temp+,or (int i$%+ i-n/#+ i..)*
,or (int j$i.#+ j-n+ j..)*i, (01i2 3 01j2)*
temp $ 01i2+01i2 $ 01j2+
01j2 $ temp+4
44
4
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 18/27
Métodos Iterativos
Método de Selecciónste algorit"o consiste en lo siguiente:
uscas el ele"ento "ás peue6o de la lista$
o interca"bias con el ele"ento ubicado en la pri"era posici'nde la lista$
uscas el segundo ele"ento "ás peue6o de la lista$
o interca"bias con el ele"ento ue ocupa la segunda posici'nen la lista$
Repites este proceso hasta ue hayas ordenado toda la lista$
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 19/27
Métodos Iterativos
Método de Selección7or e-e"plo:
ista a ordenar : 5 8 1 8 . 8 4 8 1
interca"bia"os & con el 5 y la lista ueda as9:1 8 1 8 . 8 2 8 5
o interca"bia"os 4 con el ele"ento en la segunda posici'n, esdecir el 1$ a lista ueda as9:
& 8 2 8 . 8 3 8 5
interca"bia"os 1 con el .:& 8 4 8 3 8 . 8 4 interca"bia"os 5 con el .:
& 8 4 8 1 8 5 8 .
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 20/27
Métodos Iterativos
Método de Selección pu!lic void seleccion ( )*
int i6 j6 k6 p6 temp+,or(k $ %+ k - n+ k..)*
p $ k+,or(i $ k.#+ i - n+ i..)*i,(01i2 - 01p2) p $ i+
4i,(p 7$ k)*
temp $ 01p2+01p2 $ 01k2+01k2 $ temp+
44
44MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 21/27
Métodos Iterativos
Método de Inserción
2onsidere"os ue en un "o"ento dado, el seg"ento izuierdo del
arreglo está ordenado y el seg"ento derecho no$
7ode"os to"ar un ele"ento del seg"ento derecho e insertarlo ensu lugar correcto en el lado izuierdo$
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 22/27
Métodos Iterativos
Método de Inserción
Se considera la lista partida en dos sublistas, una ordenada y la
otra para ordenar
n el pri"er paso, la lista ordenada contiene un ele"ento y la
lista por ordenar, n8&,
Se van e3trayendo uno a uno los ele"entos de la lista
desordenada y se colocan en la sublista ordenada, "edianteco"paraciones sucesivas, hasta encontrar la posici'n correcta,
l proceso contin!a hasta ue la lista desordenada ueda vac9a$
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 23/27
Métodos Iterativos
Método de Inserción-e"plo:
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 24/27
Métodos Iterativos
Método de Inserción pu!lic void insercion ( )*
#or (int i%& i ; n i<<) =
int au3 % >?i@
int -
#or (-%i8& - A %0 BB >?-@ A au3 -88)=
>?-<&@ % >?-@
C
>?-<&@ % au3C
C
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 25/27
Ejercicio de 0plicación
Dise6e una clase lla"ada Estudiante, con los siguientes atributos: c'digo,
no"bre, c'digo de curso y nota #inal del curso$ *n constructor con pará"etros Métodos getters y setters$ Método rede#inido toString()
Dise6e la clase GestionEstudiante, con atributos: un arreglo estático de
tipo studiante de ta"a6o "á3i"o .0, y una variable para cantidad de
estudiantes$ *n constructor sin pará"etros$
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 26/27
Ejercicio de 0plicación
Dise6e los siguientes "étodos:
a) Que agregue al #inal del arreglo un ob-eto studiante pasado co"o
pará"etro$ Debe veri#icar si e3iste espacio disponible$ 2onsidere ue el
c'digo del estudiante se puede repetir es decir un estudiante puede
llevar varios cursos$
b) *se el "étodo de ordena"iento de Quicksort y ordene la in#or"aci'nrespecto del c'digo del estudiante de "ayor a "enor y retornelo$ (a
in#or"aci'n original no debe su#rir ca"bios)$
c) *se el "étodo de ordena"iento de selecci'n y ordene respecto al
no"bre del estudiante y retornelo$ (la in#or"aci'n original no debe su#rir
ca"bios)$
d) Método rede#inido toString() ue retorne la in#or"aci'n del no"bre delestudiante, c'digo del curso y su pro"edio ponderado (es decir, el
pro"edio de notas de todos los cursos ue llevo)$
MMCV
8/17/2019 Metodos de Ordenamiento Recursivos e Iterativos (1)
http://slidepdf.com/reader/full/metodos-de-ordenamiento-recursivos-e-iterativos-1 27/27
Ejercicio de 0plicación
Estudiante
-cod: int-nombre: String-codCurso: int-notaFinalCurso: int
GestionEstudiante
-listaE: Estudiante[50]-n: int 1..*1
Dise6e la clase 7rueba y si"ule el ingreso de &0 datos de estudiantes$
Top Related