15
Arreglos de clasificación y de búsqueda

Logica de Programacion: Arreglos de clasificación y de búsqueda

Embed Size (px)

Citation preview

Page 1: Logica de Programacion: Arreglos de clasificación y de búsqueda

Arreglos de clasificación y de búsqueda

Page 2: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de burbuja de Ordenación

Ordenamiento de burbuja es un sencillo algoritmo de ordenación para la reordenación de los contenidos de una matriz

Útil para listas alfabéticas y clasificación numérica

Se puede hacer en orden ascendente o descendente

Elementos de la matriz se comparan y los números de la burbuja hacia el final de la matriz (asumiendo que su clasificación en orden ascendente)

Elementos de Intercambio deben hacerse con el fin de ordenar adecuadamente la matriz

1-2

Page 3: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de burbuja de Ordenación

1-3

Page 4: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de burbuja de Ordenación La variable de maxElement sostiene el

subíndice del último elemento que se va a comparar a su vecino

variable de índice es un subíndice de matriz en un bucle

Los bucle externo para cada elemento de la matriz

Las iteraciones de bucle interiores para cada uno de los elementos de la matriz sin clasificar

La sentencia if hace la comparaciónSi se quiere ordenar un arreglo de cadenas para poner la información

en orden alfabético se puede hacer con una burbuja de ordenación

1-4

Page 5: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de selección de Ordenación

La ordenación por selección funciona de forma similar a la burbuja de tipo, pero más eficiente

Se mueve un elemento a la vez

El de selección realiza menos swaps porque mueve los elementos de inmediato a su posición final

1-5

Page 6: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de selección de Ordenación

1-6

Diagrama de flujo para el módulo SelectionSort

Page 7: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de selección de Ordenación

minindex sostiene el subíndice del elemento con el valor más pequeño

minValue tiene el menor valor encontrado Los bucle externo para cada elemento del

arreglo, excepto el último El bucle interior lleva a cabo la exploración

1-7

Page 8: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de inserción y ordenaciónEl algoritmo de ordenación por inserción ordena los dos primeros elementos, que se convierte en la parte ordenada de la matriz

A continuación, se inserta cada elemento restante en la parte ordenada de la matriz en la ubicación correcta

También más eficiente que el ordenamiento de burbuja

1-8

Page 9: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de inserción y ordenación

1-9

Flowchart del algoritmo de inserción y ordenación

Page 10: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de inserción y ordenación scan se utiliza para escanear a través del arregloz

unsortedValue tiene el primer valor sin clasificar

El lazo externo pasa la variable de índice a través de cada subíndice, a partir de 1

El bucle interno se mueve al primer elemento fuera del subconjunto ordenado y en su posición correcta

1-10

Page 11: Logica de Programacion: Arreglos de clasificación y de búsqueda

El Módulo de IntercambioUna mirada más cercana en el módulo de

intercambio En la mayoría de los tipos, un módulo de

intercambio puede ser llamado Es el mismo en cada algoritmo de ordenación y

sólo cambia en la lista de parámetros para tener en cuenta el tipo de datos que se pasa a ella

//Este módulo de intercambio acepta dos argumentos enteros

Module swap(Integer Ref a, Integer Ref b)Declare Integer temp

//swap the values

Set temp =a

Set a = b

Set b = temp

End Module

1-11

Page 12: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de búsqueda binariaEl algoritmo de búsqueda binaria localiza un elemento de un arreglo

mediante la división en varias ocasiones de la matriz en medio

Cada vez que se divide el arreglo, se elimina el medio del arreglo que no contiene el elemento

Es más secuencial que la búsqueda de selección porque cada vez que se corta el arreglo en medio y hace que un número menor encuentre una coincidencia

1-12

Page 13: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de búsqueda binariaCómo funciona

Requiere que la matriz sea clasificada primero

La primera comparación se realiza con el elemento medio del arreglo para ver si es mayor o menor que el número que está siendo buscado

Si es mayor que, el número debe estar en la primera mitad de el arreglo

Si es menor que, el número debe estar en la segunda mitad de el arreglo

Este proceso se continúa hasta que el partido es encontrado

1-13

Page 14: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de búsqueda binaria

1-14

Page 15: Logica de Programacion: Arreglos de clasificación y de búsqueda

El algoritmo de búsqueda binaria middle se utiliza para almacenar el índice medio calculado

guarda el valor que se está buscado

Un loop mantiene la búsqueda e itera mientras hay elementos o hasta que se encuentra una coincidencia

El if-then-else realiza las comparaciones

1-15