Programacion estructurada

18
Metodos de ordenación

Transcript of Programacion estructurada

Page 1: Programacion estructurada

Metodos de ordenación

Page 2: Programacion estructurada

• Ordenar significa reagrupar o reorganizar un conjunto de datos u objetos en una secuencia especifica.

• Formalmente se define ordenación de la siguiente manera:

A1,A2,A3…....., AN

• Ordenar significa cambiar estos elementos de tal forma que queden de acuerdo a una distribución preestablecida.

Page 3: Programacion estructurada

Ordenación interna

• Se pueden clasificar en dos tipos:

• Métodos directos • Métodos logarítmicos

Cuando el numero del elemento del arreglo es pequeño se usa el método directo y cuando el elemento es mediano o grande se usa el método logarítmico.

Page 4: Programacion estructurada

El procesamiento de datos a los métodos de ordenación se clasifican en dos categorías según donde hayan sido almacenados:

-Ordenación de arreglos (Ordenación interna) -Ordenación de archivos (Ordenación externa)

Page 5: Programacion estructurada

Ordenación por intercambio directo (burbuja)

• Este método puede trabajarse de dos maneras:

• Llevando los elementos mas pequeños hacia la parte izquierda del arreglo o trasladando los elementos mas grandes hacia su parte derecha

Page 6: Programacion estructurada

• Ejemplo:Supongamos que se desea ordenar las

siguientes claves del arreglo unidimensional A transportando en cada pasada el menor elemento asía la parte izquierda del arreglo.

A: 15, 67, 08, 16, 44

Page 7: Programacion estructurada

A: 15, 67, 08, 16, 44, 27,12, 35

La comparación que se realiza son:

Primer pasada:A[7]>A[8] (12>35) No hay intercambio 15, 67, 08, 16, 44, 27,12, 35A[6]>A[7] (27>12) Si hay intercambio 15, 67, 08, 16, 44, 12, 27, 35A[5]>A[6] (44>12) Si hay intercambioA[4]>A[5] (16>12) Si hay intercambioA[3]>A[4] (08>12) No hay intercambioA[2]>A[3] (67>08) Si hay intercambioA[1]>A[2] (15>08) Si hay intercambio

A: 08, 15, 67, 12, 16, 44, 27, 35

12 3544 12

Page 8: Programacion estructurada

• Segunda pasada

A: 08, 15, 67, 12, 16, 44, 27, 35

A[7]>A[8] (12>35) No hay intercambio 08, 15, 67, 12, 16, 44, 27, 35A[6]>A[7] (44>27) Si hay intercambio 08, 15, 67, 12, 16, 44, 27, 35A[5]>A[6] (16>27) No hay intercambioA[4]>A[5] (12>16) No hay intercambioA[3]>A[4] (67>12) Si hay intercambioA[2]>A[3] (15>12) Si hay intercambio

Luego de la segunda pasada el arreglo queda así:

A: 08, 12, 15, 67, 16, 27, 44, 35

27 3544 27

Page 9: Programacion estructurada

Ordenación por inserción directaEste método es el que utilizan generalmente los jugadores de cartas cuando las ordenan,

de ahí también se le conoce con el nombre de método de la baraja.

La idea central consiste en insertar un elemento del arreglo en su parte izquierda ya

ordenada. Este proceso se repite desde el segundo hasta el n-ésimo elemento.

Page 10: Programacion estructurada

Ejemplo: ordenando los siguientes números.A: 15 67 08 16 44 27 12 35

[1] [2] [3] [4] [5] [6] [7] [8]

LA PRIMER PASADA: A[2]<A[1] (67<15)

Ordenación por inserción directa

15 16 440867 27 3512 [1] [2] [3] [4] [5] [6] [7] [8]

NO HAY INTERCAMBIO

Page 11: Programacion estructurada

SEGUNDA PASADA: A[3]<A[2] Y A[2]<A[1]

15 16 440867 27 3512 [1] [2] [3] [4] [5] [6] [7] [8]

SI HAY INTERCAMBIO

08 16 446715 27 3512 [1] [2] [3] [4] [5] [6] [7] [8]

SI HAY INTERCAMBIO

TERCERA PASADA: A[4]<A[3] Y A[3]<A[2]

NO HAY INTERCAMBIO

Page 12: Programacion estructurada

4ta pasada 08 15 16 44 67 27 12 355ta pasada 08 15 16 27 44 67 12 356ta pasada 08 12 15 16 27 44 67 357ta pasada 08 12 15 16 27 35 44 67

Ordenación por inserción directa

08 6715 4416 3512274ta pasada

5ta pasada

6ta pasada

7ta pasada

08 4415 6716 35122708 2715 4416 35126708 1612 2715 356744

Page 13: Programacion estructurada

Es una mejora del método de inserción directa. La mejora consiste en realizar una búsqueda

binaria en lugar de una secuencial, el procedimiento es igual a la inserción directa, se repite desde el segundo hasta el n-ésimo

elemento.

Ordenación por inserción binaria

Page 14: Programacion estructurada

Ejemplo: ordenando los siguientes números.A: 15 67 08 16 44 27 12 35

[1] [2] [3] [4] [5] [6] [7] [8]

LA PRIMER PASADA: A[2]<A[1] (67<15)

Ordenación por inserción binaria

15 16 440867 27 3512 [1] [2] [3] [4] [5] [6] [7] [8]

NO HAY INTERCAMBIO

Page 15: Programacion estructurada

SEGUNDA PASADA: A[3]<A[1]

15 16 440867 27 3512 [1] [2] [3] [4] [5] [6] [7] [8]

SI HAY INTERCAMBIO

08 16 446715 27 3512 [1] [2] [3] [4] [5] [6] [7] [8]

SI HAY INTERCAMBIO

TERCERA PASADA: A[4]<A[2] Y A[4]<A[3]

NO HAY INTERCAMBIO

Page 16: Programacion estructurada

CUARTA PASADA: A[5]<A[2] Y A[5]<A[3] Y A[5]<A[4]

08 67 441615 27 3512 [1] [2] [3] [4] [5] [6] [7] [8]

SI HAY INTERCAMBIO

08 44 671615 27 3512 [1] [2] [3] [4] [5] [6] [7] [8]

SI HAY INTERCAMBIO

QUINTA PASADA: A[6]<A[3] Y A[6]<A[4]

NO HAY INTERCAMBIO

NO HAY INTERCAMBIO

Page 17: Programacion estructurada

SEXTA PASADA: A[7]<A[3] Y A[7]<A[1] Y A[7]<A[2]

08 27 441615 67 3512 [1] [2] [3] [4] [5] [6] [7] [8]

SI HAY INTERCAMBIO

08 16 271512 44 3567 [1] [2] [3] [4] [5] [6] [7] [8]

SI HAY INTERCAMBIONO HAY INTERCAMBIO

NO HAY INTERCAMBIO

SEPTIMA PASADA: A[8]<A[4] Y A[8]<A[6] Y A[8]<A[5]

Page 18: Programacion estructurada

DINAMICA 1.- Se le llama así ,porque en la ordenación los elementos mas ligeros

suben en la lista.

2.-Significa ,reagrupar o reorganizar un conjunto de datos u objetos en una secuencia especifica.

3.- Método donde se mapea un árbol binario

4.- Menciona los dos tipos de ordenamiento.5.- Método al que se le conoce con el nombre de método de la baraja.

a) Selección b)Burbuja c) QuickSort

a) Ordenar b)Directos c) Métodos logarítmicos

a) Burbuja b)Método directo c) Montículo

a) inserción directa b)Burbuja c) Shell