La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ordenamiento: Quick Sort

Presentaciones similares


Presentación del tema: "Ordenamiento: Quick Sort"— Transcripción de la presentación:

1 Ordenamiento: Quick Sort
El método de Quick Sort consiste en acomodar un elemento llamado Pivot en su posición definitiva y luego ordenar la estructura que queda a su izquierda y la que queda a su derecha. Todos los elementos en posiciones menores al Pivot son menores que él. Todos los elementos en posiciones mayores al Pivot son mayores que él. Las dos estructuras se ordenan aplicando el mismo método. Introducción a la Programación Orientada a Objetos

2 Ordenamiento: Quick Sort
Acomodar un elemento llamado Pivot Ordenar a la izquierda del Pivot Ordenar a la derecha del Pivot Introducción a la Programación Orientada a Objetos

3 Ordenamiento: Quick Sort
Introducción a la Programación Orientada a Objetos

4 Ordenamiento: Quick Sort
Algoritmo QuickSort si hay más de un elemento Acomodar Pivot QuickSort a la izquierda del Pivot QuickSort la derecha del Pivot Introducción a la Programación Orientada a Objetos

5 Ordenamiento: Quick Sort
Algoritmo QuickSort DE ini,Fin si ini < fin pospivot  AcomodarPivot ini,fin QuickSort ini,pospivot-1 QuickSort pospivot+1,fin Es un algoritmo genérico, no depende del tipo de los elementos. Introducción a la Programación Orientada a Objetos

6 Ordenamiento: Quick Sort
Algoritmo AcomodaPivot DE ini,fin DS pos pos avanzar ini,fin Introducción a la Programación Orientada a Objetos

7 Ordenamiento: Quick Sort
Algoritmo avanzar DE izq, der DS posPiv si izq >= der posPiv  izq sino si T izq >= T izq+1 intercambiar izq izq+1 posPiv  avanzar izq+1,der posPiv  retroceder izq,der Introducción a la Programación Orientada a Objetos

8 Ordenamiento: Quick Sort
Algoritmo retroceder DE izq, der DS posPiv si izq >= der posPiv  izq sino si T izq <= T der posPiv  retroceder izq,der-1 intercambiar izq+1,der posPiv  avanzar izq,der-1 Es un algoritmo genérico, no depende del tipo de los elementos. Introducción a la Programación Orientada a Objetos

9 Genera una colección ordenada aplicando la estrategia QuickSort
Colección Genérica Implementar las clases Colección y Elemento Coleccion f [] Elemento cant:entero Inserta e en la primera posición libre. Asume que hay al menos una posición libre <<constructores>> Coleccion (n : entero) <<comandos>> insertar (e :Elemento) <<Consultas>> cantElementos():entero ordenar():Coleccion Genera una colección ordenada aplicando la estrategia QuickSort Elemento es una clase abstracta que brinda los servicios requeridos por Ordenar

10 Búsqueda Binaria La búsqueda binaria requiere que la estructura esté ordenada y consiste en partirla en mitades, considerando que el elemento buscado puede ser: •igual al que está en el medio •menor que el que está en el medio mayor que el que está en el medio Introducción a la Programación Orientada a Objetos

11 Búsqueda Binaria Algoritmo Búsqueda Binaria
si el elemento que está en el medio es el buscado EXISTE si hay un solo elemento y no es el buscado NO EXISTE sino si el elemento que está en el medio es menor al buscado Descartar la primera mitad Buscar en la segunda mitad Descartar la segunda mitad Buscar en la primera mitad Refinamos la solución Introducción a la Programación Orientada a Objetos

12 Búsqueda Binaria Algoritmo BúsquedaBinaria DE ini,fin,Elem
Mitad(ini+fin)/2 si Tmitad = Elem EXISTE sino si ini >= fin NO EXISTE si Tmitad < Elem BuscarBinaria mitad+1,fin,Elem BusquedaBinaria ini,mitad-1,Elem Es un algoritmo genérico, no depende del tipo de los elementos. Introducción a la Programación Orientada a Objetos

13 Colección Ordenada Genérica
Implementar la clase ColeccionOrdenada ColeccionOrdenada f [] Elemento cant:entero Inserta e en forma ordenada. Asume que hay al menos una posición libre <<constructores>> ColeccionOrdenada(n : entero) <<comandos>> insertar (e :Elemento) <<Consultas>> cantElementos():entero estaElemento(e:Elemento):boolean Busca el elemento aplicando la estrategia de búsqueda binaria Elemento es una clase abstracta que brinda los servicios requeridos por insertar y estaElemento


Descargar ppt "Ordenamiento: Quick Sort"

Presentaciones similares


Anuncios Google