La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Nelson Baloian, José A. Pino

Presentaciones similares


Presentación del tema: "Nelson Baloian, José A. Pino"— Transcripción de la presentación:

1 Nelson Baloian, José A. Pino
CC 1002: Introducción a la Programación Caso de estudio III Busqueda y Ordenamiento Nelson Baloian, José A. Pino

2 Busqueda y ordenamiento
¿ Por que es importante ordenar datos ? Ejemplo: una lista de alumnos y sus notas

3 Busqueda y ordenamiento
¿ Por que es importante ordenar datos ? Ejemplo: una lista de alumnos y sus notas ¿Que algoritmos de búsqueda en listas conocemos?

4 Busqueda y ordenamiento
¿ Por que es importante ordenar datos ? Ejemplo: una lista de alumnos y sus notas ¿Que algoritmos de búsqueda en listas conocemos? ¿Cómo se calcula su eficiencia? (en general de un algoritmo) Mejor caso (poco útil) Peor caso (bien útil, ¿por qué?) Caso promedio Costo amortizado (no tiene sentido en este caso)

5 Busqueda Lineal Simple para todos los casos:
Mejor caso: al principio -> O(1) Peor caso: no está -> O(n) Caso promedio: asignar probabilidades y calcular esperanza Ej. La probabilidad que esté en cualquier parte de la lista o no esté es igual (sumar el costo multiplicado por la probabilidad de todos los casos, ¿ que pasa si la probabilidad de que no esté no es igual ?)

6 Búsqueda Binaria Algo más complicado Peor caso, no está O(log n)
Mejor caso, está al medio O(1) Caso promedio, O(log n) El análisis es más complicado pero se hace bajo el siguiente supuesto: estoy revisando el i-esimo elemento y ese no es, la probabilidad de que esté a la derecha o a la izquierda es la misma Se puede demostrar que no hay un método más eficiente basado en preguntas tipo if-else (bifurcacion)

7 Ordenamiento Antes de hacer búsqueda eficientemente hay que ordenar los elementos Existen varios métodos que pueden ser clasificados según distintos parámetros In-place o con memoria auxiliar Eficientes O(n log n) o ineficientes O(n2) Estables o no-estables Eminentemente recursivo o no Etc.

8 Ejercicio (10 min) Proponga un método de ordenamiento, descríbalo a grandes rasgos y trate de identificar que características tiene In-place o no, eficiente o no, estable o no

9 Algunos algoritmos famosos
Selección Bubble-sort Quick-sort Merge-Sort Stoge-sort

10 Ejercicio: 15 minutos En el caso de la búsqueda binaria visto en clases cada vez se escoge el elemento del medio de la porción de lista donde (aún) puede estar el elemento SI buscamos en una guía telefónica una persona con apellido Castillo, ¿ es eficiente empezar al medio ? Proponga una fórmula que en cada iteración, vez de buscar al medio busque en un lugar proporcional a la distancia que tiene el valor buscado con el rango de valores que actualmente tiene como límites inferior y superior


Descargar ppt "Nelson Baloian, José A. Pino"

Presentaciones similares


Anuncios Google