Decrementa y vencerás II
|
|
|
- Montserrat Zúñiga Herrera
- hace 7 años
- Vistas:
Transcripción
1 Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 21 de febrero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
2 1 Decrementa y vencerás II Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
3 1 Decrementa y vencerás II Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
4 En esta versión de algoritmos decrementa y vencerás el tamaño de la instancia se reduce con el mismo factor (típicamente 2) Ejemplos: Búsqueda binaria Exponenciación por cuadrados Multiplicación por el método ruso Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
5 Búsqueda binaria Es un algoritmo muy eficiente para búsqueda en arreglos ordenados Funciona comparando el término buscado (llave) K con el elemento en la mitad del arreglo A[m]. Si son iguales, el algoritmo se detiene, sino, se repite la misma operación recursivamente con la primera mitad del arreglo si K < A[m], o con la segunda mitad del arreglo si K > A[m] Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
6 Búsqueda binaria Decrementa y vencerás II Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
7 Búsqueda binaria, Eficiencia temporal Peor caso Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
8 Búsqueda binaria, Eficiencia temporal Peor caso Arreglo no contiene la llave K. Operación básica: comparación entre K y A[m] (3 vías) C worst (n) = C worst ( n/2 ) + 1 para n > 1, C worst (1) = 1 Esta relación de recurrencia ya la habíamos resuelto antes C worst (n) = log 2 n + 1 = log 2 (n + 1) Θ(log n) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
9 Búsqueda binaria, Eficiencia temporal Ejemplos: Para encontrar un elemento K en un arreglo ordenado de 1,000 elementos (o confirmar que no está) toma sólo log 2 ( ) = 10 comparaciones de 3 vías Para encontrar un elemento K en un arreglo ordenado de 1 000,000 elementos (o confirmar que no está) toma sólo log 2 ( ) = 20 comparaciones de 3 vías Es un algoritmo óptimo para búsqueda en arreglos ordenados El número de comparaciones en el caso promedio es sólo ligeramente más pequeño que en el peor caso: C avg(n) log 2 n Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
10 Multiplicación por el método ruso Sean n y m dos enteros positivos cuyo producto deseamos encontrar (n representa el tamaño de la instancia). Se hace una tabla con 2 columnas encabezadas por n y m 1 Dividir n entre 2, sucesivamente, ignorando el residuo, hasta llegar a la unidad. Escribir los resultados en la columna n. 2 Multiplicar m por 2 tantas veces como veces se ha dividido n entre 2. Escribir los resultados sucesivos en la columna m. 3 Sumar todos los números de la columna m que estén al lado de un número impar de la columna n. Éste es el resultado. Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
11 Multiplicación por el método ruso Se multiplica El resultado se encuentra sumando todos los elementos de la columna m que tienen un valor impar en la columna n Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
12 Multiplicación por el método ruso Este método funciona porque la multiplicación es distributiva, i.e., a (b + c) = a b + a c, así que: = 65 ( ) = 65 ( ) = ( ) = 3250 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
13 Ejercicio 1 Decrementa y vencerás II 1 Suponga que se le presenta un arreglo con 42 fotografías de personas (ordenadas en 6 filas con 7 columnas) y se le solicita identificar una foto objetivo únicamente haciendo preguntas que pueden ser respondidas con sí y no. Además existe la restricción de hacer el menor número de preguntas posible. Diseñe el algoritmo más eficiente para este problema e indique el número más grande de preguntas que pueden requerirse. Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
14 1 Decrementa y vencerás II Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
15 En los algoritmos de tipo decrementa y vencerás con decremento variable la reducción del tamaño de la instancia es diferente en cada una de las iteraciones. Ejemplos: Algoritmo de Euclides Algoritmo basado en partición para el problema de selección Búsqueda por interpolación Algunos algoritmos para búsqueda en árboles binarios Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
16 Algoritmo de Euclides El algoritmo de Euclides se basa en la aplicación iterativa de la siguiente ecuación: Ejemplo: gdc(m, n) = gdc(n, m m«od n) gdc(80, 44) = gdc(44, 36) = gdc(36, 12) = gdc(12, 0) = 12 Es posible probar que el tamaño del problema (medido con el valor de n) decrece al menos en la mitad después de dos iteraciones. Por lo tanto, T(n) O(log n) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
17 Problema de selección Encontrar el k-ésimo elemento más pequeño en una lista de números. Puede realizarse tomando ventaja de la idea de hacer una partición de la lista en torno a un elemento pivote p. Existen dos técnicas algorítmicas para hacer esta partición: el algoritmo de Hoare y el algoritmo de particionamiento de Lomuto. Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
18 Problema de selección, algoritmo de Lomuto Utiliza un subarreglo A[l... r] donde 0 l r n 1, con tres partes (posiblemente vacías): Un segmento con elementos conocidos < p Un segmento con elementos conocidos p Un segmento con elementos por comparar Iniciando en i = l + 1, el algoritmo recorre A[l... r] hacia la derecha manteniendo esta estructura hasta obtener una partición En cada iteración, compara el elemento A[i] en el segmento con elementos por comparar con p. Si A[i] p, se incrementa i. Si A[i] < p, se incrementa s, se intercambian A[i] y A[s] y se incrementa i Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
19 Problema de selección, algoritmo de Lomuto Cuando no hay elementos sin procesar, se intercambian el pivote p y A[s] Esto permite encontrar la partición buscada Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
20 Problema de selección, algoritmo de Lomuto Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
21 Problema de selección, algoritmo de Lomuto Cómo puede resolverse el problema de selección (encontrar el k-ésimo elemento más pequeño) aprovechando la partición de una lista? Asumamos que la lista es un arreglo (cero basado) y que s es el índice del pivote p después de aplicar el algoritmo de Lomuto para encontrar la partición. Si s = k 1, entonces el problema fue resuelto porque el pivote p es el k-ésimo elemento más pequeño Si s > k 1, el k-ésimo elemento más pequeño del arreglo puede encontrarse como el k-ésimo elemento más pequeño en la parte izquierda de la partición Si s < k 1, el k-ésimo elemento más pequeño del arreglo puede encontrarse como el (k s)-ésimo elemento más pequeño en la parte derecha de la partición Si no se resuelve el problema, este se reduce y puede resolverse usando el mismo enfoque de manera recursiva. Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
22 Problema de selección, algoritmo quickselect Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
23 Algoritmo quickselect, complejidad Mejor caso Cuando al hacer la primera partición (usando n 1 comparaciones) se resuelve el problema C best (n) = n 1 Θ(n) Peor caso Cuando se producen particiones no balanceadas (una parte vacía y otra con n 1 elementos) en las n 1 iteraciones Caso promedio C worst (n) = (n 1) + (n 2) = n(n 1) 2 C avg (n) = C(n/2) + (n 1) Θ(n) Θ(n 2 ) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de / 22
Decrementa y vencerás
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 19 de febrero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás 19 de febrero de 2018 1 / 30 1 Decrementa y vencerás Tipos de algoritmos
Conceptos Fundamentales del Análisis de Algoritmos II
Conceptos Fundamentales del Análisis de Algoritmos II Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 17 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II
Eduardo Andrés Medina Ramírez Angel Robles Pérez MÉTODO DE ORDENAMIENTO QUICKSORT
Eduardo Andrés Medina Ramírez Angel Robles Pérez MÉTODO DE ORDENAMIENTO QUICKSORT QUÉ ES QUICKSORT? HISTORIA DEL MÉTODO QUICKSORT El método Quicksort fue ideado por el científico inglés Charles Anthony
Divide-y-vencerás, backtracking y programación dinámica
Divide-y-vencerás, backtracking y programación dinámica Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera Noviembre, 2012 Prof. Isabel
Introducción al Análisis y Diseño de Algoritmos
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 10 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Introducción al ADA 10 de enero de 2018 1 / 22 1 Introducción al Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera
Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera RECURSIÓN La recursión es una técnica fundamental en el diseño de algoritmos, que está basada en la solución de versiones más pequeñas del
Análisis de algoritmos
Tema 08: Divide y vencerás (DyV) M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom 1 Contenido Introducción Divide y vencerás Observaciones
Análisis matemático de algoritmos recursivos
Análisis matemático de algoritmos recursivos Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 24 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Análisis matemático de algoritmos 24 de enero de
ANÁLISIS Y DISEÑO DE ALGORITMOS
ANÁLISIS Y DISEÑO DE ALGORITMOS CURSO 2005/2006 BOLETÍN DE PROBLEMAS: DIVIDE Y VENCERÁS Ejercicio 1 Dado un vector ordenado y rotado k veces: diseñar un algoritmo O(log n) que encuentre el elemento mayor
Esquema de Dividir y Vencer
Esquema de Dividir y Vencer Amalia Duch Barcelona, marzo de 2006 Índice 1. Esquema general 1 2. Búsqueda binaria (binary search) 2 3. Ordenación por fusión (merge sort) 2 4. Ordenación rápida (quick sort)
Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos
Estructura de Datos y Algoritmos Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos 1. Algorimos de ordenación Discutiremos el problema de ordenar un array de elementos. A los efectos de simplificar
Divide y vencerás. Dr. Eduardo A. RODRÍGUEZ TELLO. 7 de marzo de CINVESTAV-Tamaulipas
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 7 de marzo de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Divide y vencerás 7 de marzo de 2018 1 / 50 1 Divide y vencerás Dr. Eduardo RODRÍGUEZ T. (CINVESTAV)
Ordenamiento (Sorting)
Ordenamiento (Sorting) El problema del ordenamiento Ordenar: arreglo[α] arreglo[α], donde α es un tipo tal que está definida la relación < α Uno de los problemas más clásicos, útiles y estudiados de la
Análisis de algoritmos
Tema 03: Análisis temporal M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom 1 Contenido Caso de entrada Ejemplo 1 (Búsqueda lineal) Operación
Conceptos Fundamentales del Análisis de Algoritmos
Conceptos Fundamentales del Análisis de Algoritmos Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 15 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis 15 de
Complejidad computacional. Algoritmos y Estructuras de Datos I. Complejidad computacional. Notación O grande
Complejidad computacional Algoritmos y Estructuras de Datos I Segundo cuatrimestre de 2014 Departamento de Computación - FCEyN - UBA Algoritmos - clase 10 Introducción a la complejidad computacional y
Análisis y Diseño de Algoritmos. Complejidad Computacional
Análisis y Diseño de Algoritmos Complejidad Computacional Multiplicación Método Tradicional Método Russé Método Particiones Complejidad Computacional Tan pronto como una máquina análitica exista, será
Cubiertas convexas II
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 22 de enero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Cubiertas convexas II 22 de enero del 2013 1 / 41 1 Cubiertas convexas II Algoritmo QuickHull
Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 4: Ordenación Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Elección de un método Métodos directos
95.12 Algoritmos y Programación II Práctica 7: árboles
Notas preliminares 95.12 Algoritmos y Programación II Práctica 7: árboles El objetivo de esta práctica es introducir distintas clases de estructuras de datos arbóreas y algoritmos para manipularlas. Los
Dividir-conquistar y podar-buscar
Técnicas de diseño de algoritmos Dividir-conquistar y podar-buscar Dra. Elisa Schaeffer [email protected] PISIS / FIME / UANL DC y PB p. 1 Diseño de algoritmos La meta: encontrar una manera eficiente
Técnicas de diseño de algoritmos Divide y Vencerás
Técnicas de diseño de algoritmos Divide y Vencerás Luis Javier Rodríguez Fuentes Amparo Varona Fernández Departamento de Electricidad y Electrónica Facultad de Ciencia y Tecnología, UPV/EHU [email protected]
ELO320 Estructuras de Datos y Algoritmos. Complejidad. Tomás Arredondo Vidal
ELO320 Estructuras de Datos y Algoritmos Complejidad Tomás Arredondo Vidal Este material está basado en: Robert Sedgewick, "Algorithms in C", (third edition), Addison-Wesley, 2001 Thomas Cormen et al,
Estructuras de Datos y Algoritmos. Curso 2009/2010. Tema 3: Divide y Vencerás
Estructuras de Datos y Algoritmos Facultad de Informática Universidad Politécnica de Valencia Curso 2009/2010 Tema 3: Divide y Vencerás FI UPV: Curso 2009/2010 TEMA 3. Divide y Vencerás Objetivos Estudio
Arreglos. Algoritmos y Estructuras de Datos I. Arreglos en C++ Arreglos y listas
Arreglos Algoritmos y Estructuras de Datos I Primer cuatrimestre 2007 Teórica de imperativo 3 Algoritmos de búsqueda secuencias de una cantidad fija de variables del mismo tipo se declaran con un nombre,,
Introducción Supongamos un subconjunto de n elementos X = {e 1,,e n de un conjunto referencial Y, X Y. Dentro de Y se define una relación de orden tot
Algoritmos de ordenación Análisis y Diseño de Algoritmos Algoritmos de ordenación Algoritmos básicos: Θ(n 2 ) Ordenación por inserción Ordenación por selección Ordenación por intercambio directo (burbuja)
Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Ordenamiento Heapsort y Quicksort DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Heaps Un Heap es una estructura de datos binaria Un arreglo que representa
Algoritmos de fuerza bruta
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 29 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Algoritmos de fuerza bruta 29 de enero de 2018 1 / 26 1 Algoritmos de fuerza bruta Introducción
Tema 2. Divide y vencerás.
Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones especificaciones. 2. Conjuntos diccionarios. 3. Representación de conjuntos mediante árboles. 4. Grafos. Parte II. Algorítmica. 1. Análisis
1. Algoritmo, programa y pseudocódigo. Introducción al estudio de algoritmos. Ejemplos
Introducción al estudio de algoritmos 1. Algoritmo, programa y pseudocódigo 2. Eficiencia y el principio de invarianza 3. Operaciones elementales 4. Casos mejor, peor y medio 5. Notación asintótica 6.
Introducción al Análisis del Coste de Algoritmos
1/11 Introducción al Análisis del Coste de Algoritmos Josefina Sierra Santibáñez 7 de noviembre de 2017 2/11 Eficiencia de un Algoritmo Analizar un algoritmo significa, en el contexto de este curso, predecir
7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico.
86 Capítulo 7. ORDENAMIENTO. 7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico. Si los elementos a ordenar son compuestos
Tema 9. Recursividad
Tema 9. Recursividad http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, [email protected] Estructuras de datos y de la información Universitat
PROGRAMACIÓN ESTRUCTURADA
FACULTAD DE INGENIERÍA Universidad Nacional de Jujuy PROGRAMACIÓN ESTRUCTURADA Trabajo Práctico Nº 10 Tema: Arreglos. Actualización y Búsqueda Apellido y Nombre: Fecha: / / Conceptos Teóricos RESPONDA
Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios
6.1.(Clase) Un programa que utiliza la técnica divide y vencerás, divide un problema de tamaño n en a subproblemas de tamaño n/b. El tiempo g(n) de la resolución directa (caso base) se considerará constante.
Análisis de Algoritmos
Análisis de Algoritmos IIC1253 IIC1253 Análisis de Algoritmos 1 / 36 Complejidad de un algoritmo Un algoritmo A puede ser pensado como una función A : {0,1} {0,1} Qué tan general es esta representación?
Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Introducción: El Rol de los Algoritmos en Computación DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Temario 2 1. Introducción 2. Notación Asintótica 3. Recurrencias
Divide & Conquer. Herman Schinca. Clase de Junio de 2011
Divide & Conquer Herman Schinca Clase 20 7 de Junio de 2011 Divide y vencerás Idea aplicable a muchas situaciones de la vida. Origen histórico atribuído a Julio César en relación a sus estrategias militares.
Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 1: Recursividad. Prof. Montserrat Serrano Montero
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 1: Recursividad Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Ejemplos recursivos Recursividad
Métodos de Ordenamiento. Unidad VI: Estructura de datos
Métodos de Ordenamiento Unidad VI: Estructura de datos Concepto de ordenación La ordenación de los datos consiste en disponer o clasificar un conjunto de datos (o una estructura) en algún determinado orden
Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (i)
Algorítmica y Lenguajes de Programación Eficiencia y notación asintótica (i) Eficiencia y notación asintótica. Introducción Para resolver un problema pueden existir varios algoritmos. Por tanto, es lógico
Estructura de datos y Algoritmos. Tema III Clasificación en memoria secundaria
Estructura de datos y Algoritmos Tema III Clasificación en memoria secundaria 3.1. Clasificación externa basada en mezcla 3.1.1. Mezcla directa. 3.1.2. Mezcla natural. 3.1.3. Mezcla balanceada múltiple.
Estructura de Datos. Complejidad de Algoritmos. Algoritmo. Algoritmo. Mauricio Solar Lorna Figueroa
Estructura de Datos Complejidad de Algoritmos Mauricio Solar Lorna Figueroa 2010 1 Algoritmo Definición: Un algoritmo es un conjunto finito de instrucciones que sirven para resolver un problema si fueron
Programa de teoría. Algoritmos y Estructuras de Datos II. 2. Divide y vencerás. 1. Análisis de algoritmos
Programa de teoría Algoritmos y Estructuras de Datos II 1. Análisis de algoritmos 2. Divide y vencerás 3. Algoritmos voraces 4. Programación dinámica 5. Backtracking 6. Ramificación y poda A.E.D. II 1
ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS
ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS 2004-2005 PRACTICA 1: MEDICIÓN DEL TIEMPO. ALGORITMOS DE ORDENACIÓN Crear un conjunto de funciones que permitan la medición del tiempo de ejecución de los programas,
Multiplicación de matrices simétricas
Multiplicación de matrices simétricas La traspuesta de una matriz A n n es definida como una matriz A T n n tal que A T [i, j] =A[j, i] paracadai, j 2{1,...,n} Además, una matriz A es simétrica si A =
Estratégias generales de análisis y diseño de algorítmos
Estratégias generales de análisis y diseño de algorítmos comp-420 Ayudantes Hugo Eduardo Dueñas [email protected] (ordinaria) Alberto José Ramirez Valadez [email protected] (ordinaria) Mandar tareas (programas)
Sistema de Ecuaciones Lineales - Métodos Iterativos -
Sistema de Ecuaciones Lineales - Métodos Iterativos - Contenido Métodos Iterativos Método de Jacobi Método de Gauss-Seidel Fórmulas Recursivas Métodos Iterativos Los métodos iterativos son aquellos que
Análisis de algoritmos
Tema 05: no recursivos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom 1 Contenido no recursivos La notación de Landau O La notación O Principio
Recursividad Definición
Recursividad Definición Un procedimiento o función se dice recursivo si durante su ejecución se invoca directa o indirectamente a sí mismo. Esta invocación depende al menos de una condición que actúa como
Tema 3.2: Eficiencia de algoritmos recursivos. Diseño y Análisis de Algoritmos
Diseño y Análisis de Algoritmos Contenidos Contenidos 1 Introducción 2 3 Método general para resolución de relaciones de recurrencia URJC DAA 2 / 37 Introducción Análisis de algoritmos recursivos La matemática
Técnicas para el Diseño de Algoritmos
Técnicas para el Diseño de Algoritmos Algoritmos Algoritmos voraces Divide y conquista Programación dinámica Backtracking Algoritmos Voraces Algoritmos Voraces Algoritmos que implementan una búsqueda miope
Algoritmos Secuenciales y Recursivos
Algoritmos Secuenciales y Recursivos M. Andrea Rodríguez-Tastets Ayudante: Erick Elejalde Universidad de Concepción,Chile www.inf.udec.cl\ andrea [email protected] I Semestre - 2014 1/45 Análisis secuencial
Capítulo I ELEMENTOS PREVIOS
Capítulo I ELEMENTOS PREVIOS Antes de iniciar lo referente a Criterios de Divisibilidad, recordaremos algunos conceptos y propiedades previas que nos permitirán comprender de mejor manera el contenido
Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013
Técnicas de diseño de algoritmos Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2013 Técnicas de diseño de algoritmos Algoritmos golosos Backtracking (búsqueda con retroceso) Divide and conquer
Práctica 2 - Ejercicio 2.8
Algoritmos y Estructura de Datos III Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires 27 de Marzo de 2013 2.8 - Euclides 2.8. a. Escribir el algoritmo de Euclides para calcular el
Ordenamiento y Búsqueda
Ordenamiento y Búsqueda Facultad de Ciencias de la Computación Juan Carlos Conde R. Object-Oriented Programming I Contenido 1 Introducción 2 Intercambio directo 3 Inserción directa 4 Selección directa
Conceptos básicos de Geometría
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 15 de enero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) 15 de enero del 2013 1 / 25 1 Geometría Afín Geometría Euclidiana Áreas y ángulos Dr. Eduardo
Algoritmos de Ordenamiento
Algoritmos de Ordenamiento mat-151 Alonso Ramírez Manzanares Computación y Algoritmos 12.04 Algoritmos de ordenamiento Entrada: secuencia de números. Salida: permutación
Análisis Amortizado. Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera
Análisis Amortizado Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera 1 Análisis de algoritmos La eficiencia de un programa tiene dos
Algoritmos y Complejidad
Algoritmos y Complejidad Algoritmos dividir y conquistar Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre 2014 Algoritmos dividir y conquistar
Intersección de segmentos de línea
Intersección de segmentos de línea Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 22 de febrero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Intersección de segmentos de línea 22 de febrero del 2013
Versión Iterativa de recuperar en un. Ejercicios Tema 11. Implementa una versión del método recuperar iterativa con la siguiente especificación:
Versión Iterativa de recuperar en un ABB Ejercicios Tema 11 Ejercicios Adaptados de Apuntes y Exámenes de EDA Germán Moltó Martínez [email protected] Estructuras de Datos y Algoritmos Escuela Técnica
sumando sumando sumando sumandos sumandos = 38.6 Cualquier número que se suma.
sumando sumando 33 + 4.7 + 0.9 = 38.6 sumandos sumando 33 + 4.7 + 0.9 = 38.6 sumandos Cualquier número que se suma. algoritmo Ejemplo de producto parcial algoritmo 555 x 7 35 Paso 1: Multiplicar las unidades
11-Ordenar Definiciones 11.2 Selección 11.3 Intercambio 11.4 Inserción 11.5 Shellsort 11.6 Quicksort 11.7 Mergesort.
11-Ordenar 11.1 Definiciones 11.2 Selección 11.3 Intercambio 11.4 Inserción 11.5 Shellsort 11.6 Quicksort 11.7 Mergesort 11: Ordenar 2 Definiciones Se desea ordenar un set de estructuras, que contienen
Tema 3. Análisis de costes
Tema 3. Análisis de costes http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información
CONJUNTO DE LOS NÚMEROS NATURALES
República Bolivariana de Venezuela Ministerio de la Defensa Universidad Nacional Experimental de las Fuerzas Armadas Curso de Inducción Universitaria CIU Cátedra: Razonamiento Matemático CONJUNTO DE LOS
Notación Asintótica 2
Notación Asintótica 2 mat-151 1 Éxamen Rápido (6 minutos) Cada operación fundamental usa c milisegundos, cuánto tiempo toma contar hasta 1,000,000? Cuál es el valor de N? Cuál es el órden de complejidad
Métodos de ordenamiento:
Métodos de ordenamiento: 0) Intercambio: a) Idea: El algoritmo de intercambio aunque es el más sencillo de implementar es uno de los más ineficientes en rendimiento. Se basa en la idea de buscar cada vez
Algoritmos voraces (greedy)
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 21 de marzo de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Algoritmos voraces 21 de marzo de 2018 1 / 45 1 Algoritmos voraces (greedy) Aplicaciones de
Tema 10: Árbol binario de búsqueda
Tema 10: Árbol binario de búsqueda M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Árbol binario de
Tema 5. Matrices y Determinantes
Tema 5. Matrices y Determinantes 1. Definiciones 2. Operaciones Propiedades 3. Determinantes Orden 2 Orden 3: Regla de Sarrus Orden mayor de 3 Propiedades 4. Matriz inversa Ecuaciones matriciales 5. Rango
POTENCIACIÓN Y RADICACIÓN
Potenciación POTENCIACIÓN Y RADICACIÓN La potenciación o exponenciación es una multiplicación de varios factores iguales, al igual que la multiplicación es una suma de varios sumandos iguales. En la nomenclatura
Tema 5- Diseño Recursivo y Eficiente. Tema 5- Diseño Recursivo y. Descomposición recursiva ascendente de un vector. Etapas del diseño recursivo
Tema 5- Diseño Recursivo y Eficiente Tema 5- Diseño Recursivo y Eficiente Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Introducción
MATRICES MULTIPLICACIÓN DE MATRICES
Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera MATRICES MULTIPLICACIÓN DE MATRICES Matrices Conceptos básicos Matriz: arreglo bidimensional A(MxN) Vector: arreglo unidimensional X(N) Matriz
ESCUELA PREPARATORIA OFICIAL NO.16 MATERÍA: PENSAMIENTO NUMÉRICO Y ALGEBRAICO I
ARITMÉTICA 1. Números naturales 2. Divisibilidad 3. Números enteros 4. Números decimales 5. Fracciones y números racionales 6. Proporcionalidad 7. Sistema métrico decimal 8. Sistema sexagesimal 9. Números
Algoritmos y Estructuras de Datos
1 / 36 Universidad Icesi Facultad de Ingeniería 2017-2 2 / 36 Agenda del día 1 3 / 36 Por qué usamos recurrencias en análisis de algoritmos? 3 / 36 Por qué usamos recurrencias en análisis de algoritmos?
Guía práctica de estudio 4 Algoritmos de búsqueda parte 1
Guía práctica de estudio 4 Algoritmos de búsqueda parte 1 Elaborado por: Revisión: Ing. Laura Sandoval Montaño Facultad de Ingeniería U.N.A.M. Guía Práctica 4 Estructura de datos y Algoritmos II Algoritmos
Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap)
Práctico 4 Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap) Clasificación de ejercicios: (I) Imprescindibles (R) Recomendados (C) Complementarios Árboles balanceados (AVL)
Introducción y Comportamiento Asintótico
Introducción y Comportamiento Asintótico M. Andrea Rodríguez-Tastets Ayudante: Erick Elejalde Universidad de Concepción,Chile www.inf.udec.cl\ andrea [email protected] I Semestre - 2014 1/64 Problemas and
4 MÉTODOS DIRECTOS PARA RESOLVER SISTEMAS DE ECUACIONES LINEALES
57 4 MÉTODOS DIRECTOS PARA RESOLVER SISTEMAS DE ECUACIONES LINEALES En este capítulo se estudia el componente algorítmico y computacional de los métodos directos para resolver sistemas de ecuaciones lineales.
