TEMA 1: DIVIDE Y VENCERÁS

Tamaño: px
Comenzar la demostración a partir de la página:

Download "TEMA 1: DIVIDE Y VENCERÁS"

Transcripción

1 TEMA 1: DIVIDE Y VENCERÁS l OBJETIVOS: n Estudio de la estrategia de diseño de algoritmos (recursivos) Divide y Vencerás n Estudio de los algoritmos de Ordenación Rápida: MergeSort y QuickSort n Estudio de otros algoritmos clásicos. 1

2 ÍNDICE l ÍNDICE: n La aproximación Divide y Vencerás. n Análisis de la corrección y la eficiencia de los algoritmos DyV n Problemas: Ordenación Rápida, Selección, Multiplicación de Matrices, otros. 2

3 BIBLIOGRAFÍA l G. Brassard, P. Bratley. Fundamentos de Algoritmia. Prentice Hall, Capítulo 4. l T.H. Cormen, C.E. Leiserson, R.L. Rivest Introduction to Algorithms. MIT Press, Capítulos 1, 8 y 10. l M.A. Weiss Estructuras de datos y Algoritmos. Addison-Wesley, Capítulo 10. 3

4 1. LA APROXIMACIÓN DyV l DIVIDIR el problema original en varios subproblemas que se dividen la talla de forma equilibrada. l VENCER (resolver) los subproblemas de forma recursiva. Si éstos son de un tamaño suficientemente pequeño, resolverlos de forma directa. l COMBINAR las soluciones para obtener la solución del problema original. 4

5 ALGORITMO DE ORDENACIÓN POR FUSIÓN (MergeSort) n DIVIDE la secuencia de n elementos a ordenar en DOS subsecuencias de n/2 elementos cada una. n ORDENA las dos subsecuencias por fusión. Si la secuencia tiene un sólo elemento no hace nada. n MEZCLA las dos subsecuencias YA ordenadas para producir la secuencia completa también ordenada. 5

6 Ejemplo: Mergesort Acción MergeSort (A,p,r) Si p<r entonces q:=[(p+r)/2]; MergeSort(A,p,q); MergeSort(A,q+1,r); Merge(A,p,q,r); Fsi Facción DIVIDE VENCE COMBINA 6

7 Ejemplo: MergeSort l La acción de combinar Merge: {p<=r Ordenada(A,p,q) Ordenada(A,q+1,r)} Merge(A,p,q,r); {Ordenada(A,p,r)} 7

8 Ejemplo: MergeSort l La acción de combinar Merge: {p<=r Ordenada(A,p,q) Ordenada(A,q+1,r)} Merge(var A:secuencia;p,q,r:nat); var B: secuencia; i,j,k:nat; i:=p; j:=q+1; k:=p; mientras (i<=q) and (j<=r) hacer si A[i]<A[j] entonces k:=k+1; fmientras; sino B[k]:=A[i]; i:=i+1; B[k]:=A[j]; j:=j+1; fsi; mientras (i<=q) hacer B[k]:=A[i]; i:=i+1; k:=k+1; fmientras; mientras (j<=r) hacer B[k]:=A[j]; j:=j+1; k:=k+1; fmientras; para i:=p hasta r hacer A[i]:=B[i] fpara fmerge; {Ordenada(A,p,r)} 8

9 2. CORRECCIÓN Y EFICIENCIA DE LOS DyV l La corrección se realiza por inducción sobre el tamaño del problema. l Consiste en demostrar que la operación combinar es correcta si las soluciones de las que parte también lo son. 9

10 La eficiencia. Teoremas l Teorema 1: La solución de la ecuación T(n)=aT(n/b)+O(n k ), con a>=1 y b>1 es O(n log ba ) si a>b k O(n k logn) si a=b k O(n k ) Dem. [Weiss,pp.383] si a<b k 10

11 La eficiencia. Teoremas l Teorema 2: La solución de la ecuación T(n)=aT(n/b)+O(n k log p n), con a>=1, b>1 y p>=0 es O(n log ba ) O(n k log p+1 n) O(n k log p n)si a<b k si a>b k si a=b k 11

12 Ordenación Rápida: QuickSort l DIVIDE: En A[p..r] se establece una Partición en dos subv. no vacíos A[p..q] y A[q+1..r] tal que cada elemento del 1º es menor o igual que cada uno de los del 2º (q se calcula en partición). l VENCER: ordenar los dos subvectores llamando a QuickSort. l COMBINAR: no hay que hacer nada. 12

13 Algoritmo QuickSort Acción QuickSort (A,p,r) si p<r entonces q:=partición(a,p,r); QuickSort(A,p,q); QuickSort(A,q+1,r); fsi facción 13

14 La elección del pivote l Elegir el primer elemento? l Elegirlo al azar? l Tomar la mediana de tres? n La mediana entre el 1º el último y el central. Ej: 8,1,4,9,6,3,5,2,7,0 (piv=6) l Otras. 14

15 El algoritmo Partición {p<=r} Función Partición (A,p,r) devuelve q /* x es el pivote */ p <=x >=x r q 15

16

17 Algoritmo PARTICION (var v:vector; ini,fin:entero; var pos:entero); var var izq,der,pos: entero; p:tipobase; p:=v[ini]; izq:=ini; der:=fin; repetir repetir izq:=izq+1 hasta v[izq]>=p repetir der:=der-1 hasta v[der]<=p Intercambiar (v[izq],v[der]); hasta der<izq; Intercambiar (v[izq],v[der]); /* deshace el último cambio */ Intercambiar (v[ini],v[der]); pos:=der; fparticion 17

18 Análisis de QS l Caso Peor: Partición desequilibrada T(n)=T(1)+T(n-1)+k n n>1 T(n)=k n=1 T(n) Θ(n 2 ) l Caso Mejor: Partición equilibrada T(n)=2T(n/2)+k n n>1 T(n) Θ(nlogn) 18

19 Análisis de QS (cont.) l Coste promedio: asumimos que todas las instancias son equiprobables n 1 1 T(n) = ( k' n + T(i) + T(n i)) = n i= 1 n 1 2 = T(i) + kn Θ( n log n) n i= 1 19

20 El problema de la Selección l Encontrar el i-ésimo elemento mayor (o menor) en una lista de n números n Caso particular: Encontrar la mediana [i=n/2] 20

21 Método para Selección l Se efectúa Partición sobre A[p..r] l Si i<= V1 el i-ésimo elemento menor estará en V1 l Si i= V1 +1 el i-ésimo elemento menor es el pivote l Si i> V1 el i-ésimo elemento menor estará en V2, y será el (i- V1-1)-ésimo menor de V2 21

22 El algoritmo Selección Función Selección (A,p,r,i) dev TipoBase var k:entero; si p<r entonces q:=partición(a,p,r); k:=q-p+1; /*Nº elementos de 1ª parte*/ si i<=k entonces dev Selección(A,p,q,i); sino dev Selección(A,q+1,r,i-k); sino dev A[p] 22

23 Análisis de la CT de Selección (n=r-p+1) l Caso Peor: Partición desequilibrada T(n)=T(n-1)+k n n>1 T(n) Θ(n 2 ) l Caso Mejor: Partición equilibrada T(n)=T(n/2)+k n n>1 T(n) Θ(n) l Caso Medio: T(n) Θ(n). Ejercicio. 23

24 MULTIPLICACIÓN DE MATRICES l Por simplicidad, consideraremos matrices cuadradas: C=A x B l Algoritmo directo: para i:=1 hasta n hacer para j:=1 hasta n hacer C[i,j]:=0; para k:=1 hasta n hacer C[i,j]:=A[i,k]*B[k,j]+C[i,j] 24

25 El algoritmo de Strassen l Dividir el problema de mult. matrices nxn en términos de la multiplicación de matrices n/2xn/2 C C = A A C C B B = A A A 12 B A B A A A A X B B B B A A B B B B = l Mejora el coste de la solución directa? 25

26 El alg. de Strassen (cont.) l Reducir el nº de subproblemas, aunque se incremente el nº de operaciones en cada llamada (Efecto de la cte oculta) M 1 =(A 12 -A 22 )x(b 21 +B 22 ) M 2 =(A 11 +A 12 )x(b 11 +B 22 ) M 3 =(A 11 -A 21 )x(b 11 +B 12 ) M 4 =(A 11 +A 12 )xb 22 M 5 =A 11 x(b 12 -B 22 ) M 6 =A 22 x(a 21 -B 11 ) M 7 =(A 21 +A 22 )xb 11 26

27 El algoritmo de Strassen (cont.) Se pueden multiplicar dos matrices nxn haciendo 7 multiplic. de matrices n/2xn/2, pero más sumas y restas, es más eficiente?... C C C C = M1 + M2 M6 + M4 M7 + M6 M2 M4 M3 + + M5 M5 M7 Complejidad temporal: T(n)=7T(n/2)+k n 2 n>1 T(n)=k n=1 T(n) Θ (n 2.81 ) 27

28 Algoritmo max-min (i,j:entero; var max,min:entero); /* a[1..n] es una variable global */ si (i=j) entonces max:=a[i]; min:=a[j]; /*pequeño*/ sino si i=j-1 entonces /* pequeño */ si a[i]<a[j] entonces max:=a[j]; min:=a[i] sino max:=a[i]; min:=a[j]; fsi; sino /*el problema no es pequeño, se divide */ med:=(i+j)/2; max-min(i,med,max,min); max-min(med+1,j,max1,min1); si max<max1 entonces max:=max1; fsi; sin min>min1 entonces min:=min1; fsi; fsi; fmax-min;

29 MergeSort con listas de punteros a[1..n] vector de enteros link[0..n] vector de enteros. Se interpretan como punteros a a. Una lista es una secuencia de punteros terminda en un 0. Ejemplo: link: [1] [2] [3] [4] [5] [6] [7] [8] Dos listas Q=(2,4,1,6) R=(5,3,7,8)

30 Algoritmo Mergesort1(izq,der,umbral:entero); devuelve entero; si (der-izq)<umbral entonces entonces devuelve OrdeInser(a,link,izq,der); fmergesort1; sino med:=(der.izq)/2; fsi; q:=mergesort1(izq,med); r:=mergesort1(med+1,der); devuelve Merge1(q,r);

Estructuras de Datos y Algoritmos. Curso 2009/2010. Tema 3: Divide y Vencerás

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

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 08: Divide y vencerás (DyV) M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción Divide y vencerás Observaciones

Más detalles

1. Planteamiento general

1. Planteamiento general Algoritmos de tipo Divide y Vencerás 1. Planteamiento general 2. Determinación del caso base 3.1. Búsqueda binaria 3.3. Problema de la selección 3.4. Multiplicación de matrices de Strassen 1. Planteamiento

Más detalles

Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera

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

Más detalles

Divide-y-vencerás, backtracking y programación dinámica

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

Más detalles

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. 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

Más detalles

Tema 2. Divide y vencerás.

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

Más detalles

Programación II. Mario Aldea Rivas Programación II 13/04/11 1. Mario Aldea Rivas Programación II 13/04/11 2

Programación II. Mario Aldea Rivas Programación II 13/04/11 1. Mario Aldea Rivas Programación II 13/04/11 2 Programación II Bloque temático 1. Lenguajes de programación Bloque temático 2. Metodología de programación Bloque temático 3. Esquemas algorítmicos Tema 4. Introducción a los Algoritmos Tema 5. Algoritmos

Más detalles

Esquema de Dividir y Vencer

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)

Más detalles

Algoritmos y Complejidad

Algoritmos y Complejidad Algoritmos y Complejidad Curso 2017 Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre 2017 Resumen Objetivos Cronograma Cursado Recursos

Más detalles

Tema 9. Recursividad

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, sanchiz@icc.uji.es Estructuras de datos y de la información Universitat

Más detalles

Dividir-conquistar y podar-buscar

Dividir-conquistar y podar-buscar Técnicas de diseño de algoritmos Dividir-conquistar y podar-buscar Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL DC y PB p. 1 Diseño de algoritmos La meta: encontrar una manera eficiente

Más detalles

Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios

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.

Más detalles

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

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

Más detalles

Técnicas de diseño de algoritmos Divide y Vencerás

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 luisjavier.rodriguez@ehu.es

Más detalles

CI2612: Algoritmos y Estructuras de Datos II. Recurrencias y el principio de dividir y conquistar. Recurrencias. Objetivos.

CI2612: Algoritmos y Estructuras de Datos II. Recurrencias y el principio de dividir y conquistar. Recurrencias. Objetivos. CI2612: Algoritmos y Estructuras de Datos II Blai Bonet Universidad Simón Boĺıvar, Caracas, Venezuela Recurrencias y el principio de dividir y conquistar Objetivos Recurrencias Repasar los conceptos de

Más detalles

Análisis y Diseño de Algoritmos

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

Más detalles

Técnicas para el Diseño de Algoritmos

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

Más detalles

TEMA 1 La eficiencia de los algoritmos

TEMA 1 La eficiencia de los algoritmos DLSI (Univ. Alicante) Tema 1. La eficiencia de los algoritmos TEMA 1 La eficiencia de los algoritmos PROGRAMACIÓN Y ESTRUCTURAS DE DATOS La eficiencia de los algoritmos 1. Noción de complejidad Complejidad

Más detalles

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN SYLLABUS DEL CURSO Análisis de Algoritmos

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN SYLLABUS DEL CURSO Análisis de Algoritmos 1. CÓDIGO Y NÚMERO DE CRÉDITOS ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN SYLLABUS DEL CURSO Análisis de Algoritmos CÓDIGO FIEC04366 NÚMERO DE CRÉDITOS:

Más detalles

Ordenamiento (Sorting)

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

Más detalles

Tema 5- Diseño Recursivo y. Objetivos Principales. Bibliografía Básica

Tema 5- Diseño Recursivo y. Objetivos Principales. Bibliografía Básica 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

Más detalles

Resolviendo Recurrencias

Resolviendo Recurrencias Resolviendo Recurrencias Mauro Jaskelioff 16/03/2015 Análisis de Algoritmos Queremos poder evaluar la performance de algoritmos. Para esto utilizamos Notación Asintótica Modelo de Costo basado en Lenguaje

Más detalles

Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007

Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007 Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007 I Tareas 1. Dudar de todo, al menos una vez en la vida. 2. Que dice la paradoja de Zenón de Elea? Qué significa paradoja?

Más detalles

Programación Análisis de Algoritmos: Tiempo de Ejecución (Introducción)

Programación Análisis de Algoritmos: Tiempo de Ejecución (Introducción) Programación 2 5 - Análisis de Algoritmos: Tiempo de Ejecución (Introducción) 1 Análisis de Algoritmos: Introducción Qué algoritmos elegir para resolver un problema? Que sean fáciles de entender, codificar

Más detalles

Taller de Programación Dinámica

Taller de Programación Dinámica Taller de Programación Dinámica Pablo Haramburu - Cristian Martinez Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 14 de abril de 2014 Pablo Haramburu

Más detalles

Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas) I. Introducción al Análisis de Algoritmos.

Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas) I. Introducción al Análisis de Algoritmos. UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: Clave: FACULTAD DE INGENIERÍA ANÁLISIS DE ALGORITMOS PROPÓSITO DEL CURSO DES: Ingeniería Programa(s) Educativo(s): Ingeniería en Ciencias de la Computación Tipo

Más detalles

Teoría de Algoritmos 2 o curso de Ingeniería Informática

Teoría de Algoritmos 2 o curso de Ingeniería Informática Teoría de Algoritmos 2 o curso de Ingeniería Informática José Luis Verdegay Departamento de Ciencias de la Computación e Inteligencia Artificial http://decsai.ugr.es/ verdegay Horarios y duración de la

Más detalles

Decrementa y vencerás II

Decrementa y vencerás II 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 2018 1 / 22 1 Decrementa y vencerás II Dr. Eduardo

Más detalles

Tema 4y 5. Algoritmos voraces. Algoritmos sobre grafos

Tema 4y 5. Algoritmos voraces. Algoritmos sobre grafos Tema 4y 5. Algoritmos voraces. Algoritmos sobre grafos Objetivos: Estudio de la técnica de diseño de algoritmos voraces Estudio de algunos problemas clásicos: Indice: Mochila con fraccionamiento Algoritmos

Más detalles

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

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)

Más detalles

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3 Tema 2: Grafos y Árboles Algoritmos y Estructuras de Datos 3 1 ÍNDICE 2.1 Definiciones básicas: grafos y árboles 2.2 Representaciones de árboles y grafos 2.3 Algoritmos de recorrido de árboles binarios

Más detalles

Esquemas algorítmicos: Introducción

Esquemas algorítmicos: Introducción Algoritmia Algoritmia = = tratamiento sistemático de técnicas fundamentales para el diseño y análisis de algoritmos eficientes J. Campos - C.P.S. Esquemas algorítmicos - Pág. 1 Computadores cada vez más

Más detalles

Estructura de Datos Árboles Árboles 2-3

Estructura de Datos Árboles Árboles 2-3 Estructura de Datos Árboles 1-2-3 Árboles 2-3 Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2010 1 Arboles 1-2-3 Árbol n-ario ordenado de orden 3 Cada nodo tiene 1 ó 2 elementos 75 Nodo

Más detalles

Divide y vencerás. Diseño y Análisis de Algoritmos

Divide y vencerás. Diseño y Análisis de Algoritmos Diseño y Análisis de Algoritmos Contenidos Contenidos 1 Introducción 2 Transforma y vencerás 3 Decrementa y vencerás 4 URJC DAA 2 / 54 Introducción Introducción URJC DAA 3 / 54 Introducción Uno de los

Más detalles

Planificaciones Teoría de Algoritmos I. Docente responsable: BARRIOS FEDERICO LUIS. 1 de 5

Planificaciones Teoría de Algoritmos I. Docente responsable: BARRIOS FEDERICO LUIS. 1 de 5 Planificaciones 7529 - Teoría de Algoritmos I Docente responsable: BARRIOS FEDERICO LUIS 1 de 5 OBJETIVOS Que el alumno - adquiera las herramientas teóricas y prácticas para la evaluación del costo temporal

Más detalles

Estructura de Datos. Complejidad de Algoritmos. Algoritmo. Algoritmo. Mauricio Solar Lorna Figueroa

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

Más detalles

Recurrencias y cómo resolverlas

Recurrencias y cómo resolverlas Recurrencias y cómo resolverlas Algoritmos y Estructuras de Datos II Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires 8 de septiembre de 2017 Algo2 (DC-FCEyN-UBA)

Más detalles

Programación II. Mario Aldea Rivas Programación II 04/04/11 1. Mario Aldea Rivas Programación II 04/04/11 2

Programación II. Mario Aldea Rivas Programación II 04/04/11 1. Mario Aldea Rivas Programación II 04/04/11 2 Programación II Bloque temático 1. Lenguajes de programación Bloque temático 2. Metodología de programación Bloque temático 3. Esquemas algorítmicos Tema 5. Algoritmos voraces, heurísticos y aproximados

Más detalles

Planificaciones Teoría de Algoritmos I. Docente responsable: WACHENCHAUZER ROSA GRACIELA. 1 de 5

Planificaciones Teoría de Algoritmos I. Docente responsable: WACHENCHAUZER ROSA GRACIELA. 1 de 5 Planificaciones 7529 - Teoría de Algoritmos I Docente responsable: WACHENCHAUZER ROSA GRACIELA 1 de 5 OBJETIVOS Que el alumno - adquiera las herramientas teóricas y prácticas para la evaluación del costo

Más detalles

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Divide y vencerás

Parte de Algoritmos de la asignatura de Programación Master de Bioinformática. Divide y vencerás Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Divide y vencerás Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas

Más detalles

Análisis y Diseño de Algoritmos

Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos Recurrencias DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Introducción 2 Cuando un algoritmo se llama a sí mismo Su tiempo de ejecución se puede describir

Más detalles

Algoritmos: Algoritmos sobre secuencias y conjuntos de datos

Algoritmos: Algoritmos sobre secuencias y conjuntos de datos Algoritmos: Algoritmos sobre secuencias y conjuntos de datos Alberto Valderruten LFCIA - Departamento de Computación Facultad de Informática Universidad de A Coruña, España www.lfcia.org/alg www.fi.udc.es

Más detalles

Programación Dinámica 1

Programación Dinámica 1 Programación Dinámica 1 El método de programación dinámica sirve para resolver problemas combinando las soluciones de subproblemas. Normalmente es usada para resolver problemas de optimización. Al construir

Más detalles

Algoritmos: Análisis de algoritmos

Algoritmos: Análisis de algoritmos Algoritmos: Análisis de algoritmos Alberto Valderruten LFCIA - Departamento de Computación Facultad de Informática Universidad de A Coruña, España www.lfcia.org/alg www.fi.udc.es Contenido Análisis de

Más detalles

ANÁLISIS Y DISEÑO DE ALGORITMOS

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

Más detalles

GUÍA DOCENTE 1. DESCRIPCIÓN DE LA ASIGNATURA

GUÍA DOCENTE 1. DESCRIPCIÓN DE LA ASIGNATURA 1. DESCRIPCIÓN DE LA ASIGNATURA Grado: Ingeniería Informática en Sistemas de Información Doble Grado: Asignatura: Algorítmica 1 Módulo: M2: Programación de Computadores Departamento: Deporte e Informática

Más detalles

Algorítmica y Lenguajes de Programación. Ordenación (ii) En la lección anterior se vieron dos métodos de ordenación:

Algorítmica y Lenguajes de Programación. Ordenación (ii) En la lección anterior se vieron dos métodos de ordenación: Algorítmica y Lenguajes de Programación Ordenación (ii) Ordenación. Introducción En la lección anterior se vieron dos métodos de ordenación: Método de la burbuja. Método de la burbuja con señal. El primero

Más detalles

DOCTORADO EN INGENIERÍA DEL LENGUAJE Y DEL CONOCIMIENTO. Área: Ingeniería del Lenguaje y del Conocimiento

DOCTORADO EN INGENIERÍA DEL LENGUAJE Y DEL CONOCIMIENTO. Área: Ingeniería del Lenguaje y del Conocimiento DOCTORADO EN INGENIERÍA DEL LENGUAJE Y DEL CONOCIMIENTO Área: Ingeniería del Lenguaje y del Conocimiento Programa de Asignatura: Introducción al Diseño de Algoritmos y sus Aplicaciones Código: DILC10200

Más detalles

Algoritmos y Complejidad

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

Más detalles

Programa de la asignatura Curso: 2006 / 2007 ALGORITMIA (4456)

Programa de la asignatura Curso: 2006 / 2007 ALGORITMIA (4456) Programa de la asignatura Curso: 2006 / 2007 ALGORITMIA (4456) PROFESORADO Profesor/es: ANTONIO EDUARDO RENEDO MENA - correo-e: arenedo@ubu.es FICHA TÉCNICA Titulación: INGENIERÍA EN INFORMÁTICA Centro:

Más detalles

Tema 3. Análisis de costes

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

Más detalles

EDA - Estructuras de Datos y Algoritmos

EDA - Estructuras de Datos y Algoritmos Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2017 270 - FIB - Facultad de Informática de Barcelona 723 - CS - Departamento de Ciencias de la Computación GRADO EN INGENIERÍA

Más detalles

Análisis matemático de algoritmos no recursivos

Análisis matemático de algoritmos no recursivos no recursivos Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 22 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Análisis matemático de algoritmos 22 de enero de 2018 1 / 16 1 Análisis matemático

Más detalles

Algoritmos. el algoritmo de ordenación. de ordenación (II) a 18 anales. En la primera parte de este. Introducción

Algoritmos. el algoritmo de ordenación. de ordenación (II) a 18 anales. En la primera parte de este. Introducción Algoritmos de ordenación (II) Todos sabemos que los ordenadores, entre otras cosas, sirven para ordenar. Pero Cómo lo hacen? Existen distintos modos de hacerlo? Depende de lo que tengamos que ordenar?

Más detalles

Análisis y Diseño de Algoritmos. Complejidad Computacional

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á

Más detalles

Tema 5- Diseño Recursivo y. Ordenación Vectorial: Inserción Directa (II) Ordenación Vectorial: Inserción Directa. Tema 5- Diseño Recursivo y Eficiente

Tema 5- Diseño Recursivo y. Ordenación Vectorial: Inserción Directa (II) Ordenación Vectorial: Inserción Directa. Tema 5- Diseño Recursivo y Eficiente 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 1. Introducción a la

Más detalles

IN34A - Optimización

IN34A - Optimización IN34A - Optimización Complejidad Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,

Más detalles

ELEMENTOS DE ALGEBRA LINEAL

ELEMENTOS DE ALGEBRA LINEAL ELEMENTOS DE ALGEBRA LINEAL Matriz Una matriz de orden o dimensión n x p es una ordenación rectangular de elementos dispuestos en n filas y p columnas de la siguiente forma: a11 a1 a1p a1 a a p A an1 an

Más detalles

Algoritmos Secuenciales y Recursivos

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 andrea@udec.cl I Semestre - 2014 1/45 Análisis secuencial

Más detalles

MATRICES MULTIPLICACIÓN DE MATRICES

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

Más detalles

Algoritmos y Estructuras de Datos

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?

Más detalles

Algoritmia para problemas difíciles

Algoritmia para problemas difíciles Algoritmia para problemas difíciles Elvira Mayordomo Universidad de Zaragoza 16 de septiembre de 2013 Elvira Mayordomo (Universidad de Zaragoza) Algoritmia para problemas difíciles 16 de septiembre de

Más detalles

COMPUTABILIDAD Y COMPLEJIDAD

COMPUTABILIDAD Y COMPLEJIDAD COMPUTABILIDAD Y COMPLEJIDAD Año 2017 Carrera: Licenciatura en Informática Plan 2007-2012-2015 Año: 3 Duración: Semestral Profesor: Fernando G. Tinetti FUNDAMENTACION: Se presentan las ideas básicas de

Más detalles

Análisis de Algoritmos

Análisis de Algoritmos Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Análisis de Algoritmos Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias

Más detalles

Multiplicación de enteros Algoritmo clásico 1234*5678 = 1234* (5*1000 + 6*100+7*10+8) = 1234*5*1000 + 1234*6*100 + 1234*7*10 + 1234*8 Operaciones bási

Multiplicación de enteros Algoritmo clásico 1234*5678 = 1234* (5*1000 + 6*100+7*10+8) = 1234*5*1000 + 1234*6*100 + 1234*7*10 + 1234*8 Operaciones bási Algoritmos Divide y Vencerás Análisis y Diseño de Algoritmos Algoritmos Divide y Vencerás Ejemplo: Multiplicación de enteros grandes La técnica divide y vencerás Características Método general divide y

Más detalles

Divide y vencerás. Dr. Eduardo A. RODRÍGUEZ TELLO. 7 de marzo de CINVESTAV-Tamaulipas

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)

Más detalles

Algoritmos de Ordenación

Algoritmos de Ordenación Algoritmos de Ordenación Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Algoritmos comunes - Ordenación Ordenación o clasificación es

Más detalles

COMPUTABILIDAD Y COMPLEJIDAD

COMPUTABILIDAD Y COMPLEJIDAD COMPUTABILIDAD Y COMPLEJIDAD Año 2015 Carrera: Licenciatura en Informática Plan 2003/07-2012-2015 Año: 3 Duración: Semestral Profesor: Fernando G. Tinetti FUNDAMENTACION: Se presentan las ideas básicas

Más detalles

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 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

Más detalles

Guía docente de la asignatura

Guía docente de la asignatura Guía docente de la asignatura Asignatura Materia Módulo Titulación ANÁLISIS Y DISEÑO DE ALGORITMOS INGENIERÍA DE SOFTWARE TECNOLOGÍAS ESPECÍFICAS GRADO EN INGENIERÍA INFORMÁTICA Plan 545 46920 Periodo

Más detalles

Estructuras de Datos. Andrea Rueda. Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas

Estructuras de Datos. Andrea Rueda. Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Fundamentos de complejidad Es eficiente un algoritmo? Análisis de los recursos que el algoritmo

Más detalles

Tema 2 Fundamentos de Complejidad Algorítmica

Tema 2 Fundamentos de Complejidad Algorítmica Tema 2 Fundamentos de Complejidad Algorítmica Pablo Sánchez Dpto. Matemáticas, Estadística y Computación Universidad de Cantabria Santander (Cantabria, España) p.sanchez@unican.es Pablo Sánchez (MATESCO)

Más detalles

Algoritmos y Estructuras de Datos III Primer cuatrimestre 2013

Algoritmos y Estructuras de Datos III Primer cuatrimestre 2013 Algoritmos y Estructuras de Datos III Primer cuatrimestre 2013 Algoritmos y Estructuras de Datos III Primer cuatrimestre 2013 (bienvenidos!) Programa 1. Algoritmos: Definición de algoritmo. Máquina RAM.

Más detalles

PROGRAMA DE ASIGNATURA

PROGRAMA DE ASIGNATURA PROGRAMA DE ASIGNATURA ASIGNATURA: Algoritmos y Estructuras de Datos II AÑO: 2012 CARÁCTER: Obligatoria CARRERA: Licenciatura en Ciencias de la Computación RÉGIMEN: cuatrimestral CARGA HORARIA: 120 hs.

Más detalles

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS Asignatura Código Estructura de Datos IS34 Créditos 4 Intensidad semanal Requisitos 6 Horas IS284 Justificación Objetivo general Objetivos Específicos El propósito es la continuación del estudio de los

Más detalles

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 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

Más detalles

ACTIVIDAD CURRICULAR DE FORMACIÓN

ACTIVIDAD CURRICULAR DE FORMACIÓN ACTIVIDAD CURRICULAR DE FORMACIÓN Facultad o Instituto : Ciencias de la Ingeniería Carrera : Ingeniería Civil Informática I. IDENTIFICACIÓN DE LA ACTIVIDAD CURRICULAR Nombre : Diseño y Análisis de Algoritmos

Más detalles

ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS

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,

Más detalles

1. Introducción al análisis de algoritmos

1. Introducción al análisis de algoritmos 1. Introducción al análisis de algoritmos 1. Introducción al concepto de algoritmia 2. Eficiencia de un algoritmo 3. Notación asintótica 4. Reglas generales Bibliografía Brassard y Bratley, 97; capítulos

Más detalles

Examen de Estructuras de Datos y Algoritmos. (Modelo 2)

Examen de Estructuras de Datos y Algoritmos. (Modelo 2) Examen de Estructuras de Datos y Algoritmos (Modelo 2) 17 de junio de 2009 1. Se dispone de una tabla hash de tamaño 12 con direccionamiento abierto y sondeo cuadrático. Utilizando como función hash la

Más detalles

Examen de Estructuras de Datos y Algoritmos. (Modelo 1)

Examen de Estructuras de Datos y Algoritmos. (Modelo 1) Examen de Estructuras de Datos y Algoritmos (Modelo 1) 17 de junio de 2009 1. Qué rotación se necesita para transformar el árbol de la figura en un árbol AVL? a) Rotación simple izquierda-izquierda b)

Más detalles

1. 1. Introducción al concepto de algoritmia

1. 1. Introducción al concepto de algoritmia 1. Introducción al análisis de algoritmos 1. Introducción al concepto de algoritmia 2. Eficiencia de un algoritmo 3. Notación asintótica 4. Reglas generales Bibliografía Básica: Aho, Hopcroft y Ullman,

Más detalles

1. Conceptos básicos sobre el problema en cuestión y cuestiones afines. 2. Formulación de los correspondientes algoritmos y su pseudocódigo.

1. Conceptos básicos sobre el problema en cuestión y cuestiones afines. 2. Formulación de los correspondientes algoritmos y su pseudocódigo. Análisis de Algoritmos Ingeniería Informática, EPS-UAM Información general Organización del curso: 13-15 (mínimo-máximo) semanas docentes: 30-33 clases teóricas. 9-12 clases de problemas 26-30 clases prácticas

Más detalles

Sorting++ Herman Schinca. Clase 21. 10 de Junio de 2011

Sorting++ Herman Schinca. Clase 21. 10 de Junio de 2011 Sorting++ Herman Schinca Clase 21 10 de Junio de 2011 Recordando Ya vimos 3 algoritmos de ordenamiento basados en la comparación entre elementos: Selection, Insertion y Bubble. Los 3 en peor caso (cuando

Más detalles

Lenguajes III Análisis y Diseño de Algoritmos

Lenguajes III Análisis y Diseño de Algoritmos Lenguajes III Análisis y Diseño de Algoritmos Andrés Becerra Sandoval Código: CC060 Créditos: 3 Prerequisitos: Desarrollo Formal de programas Naturaleza del Curso El curso argumenta la necesidad de considerar

Más detalles

Tema 3.2: Eficiencia de algoritmos recursivos. Diseño y Análisis de Algoritmos

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

Más detalles

Solución - práctico 10

Solución - práctico 10 Solución - práctico 10 Complejidad Ejercicio 1 a) Una implementación del algoritmo es la siguiente: /* Procedimiento que se encarga de realizar la unión de los dos conjuntos * ordenados der1 e izq1 son

Más detalles

6 Introducción al Análisis de Algoritmos

6 Introducción al Análisis de Algoritmos Quick_Sort(A,izq,k-1); Quick_Sort(A,k+1,der); fin_si En este caso, el algoritmo depende de la elección del pivote. Es recomendable determinar el pivote aleatoriamente para minimizar la probabilidad de

Más detalles

Sistema de ecuaciones algebraicas. Eliminación de Gauss.

Sistema de ecuaciones algebraicas. Eliminación de Gauss. Sistema de ecuaciones algebraicas. Eliminación de Gauss. Curso: Métodos Numéricos en Ingeniería Profesor: Dr. José A. Otero Hernández Correo: j.a.otero@itesm.mx web: http://metodosnumericoscem.weebly.com

Más detalles

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Algoritmica y complejidad. CURSO ACADÉMICO - SEMESTRE Primer semestre

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Algoritmica y complejidad. CURSO ACADÉMICO - SEMESTRE Primer semestre ANX-PR/CL/001-01 GUÍA DE APRENDIZAJE ASIGNATURA Algoritmica y complejidad CURSO ACADÉMICO - SEMESTRE 2016-17 - Primer semestre GA_61CI_615000308_1S_2016-17 Datos Descriptivos Nombre de la Asignatura Titulación

Más detalles

Programación II. Mario Aldea Rivas Programación II 05/05/11 1

Programación II. Mario Aldea Rivas Programación II 05/05/11 1 Programación II Bloque temático 1. Lenguajes de programación Bloque temático 2. Metodología de programación Bloque temático 3. Esquemas algorítmicos Tema 4. Introducción a los Algoritmos Tema 5. Algoritmos

Más detalles

Algorítmica y Complejidad. Tema 5 Divide y Vencerás.

Algorítmica y Complejidad. Tema 5 Divide y Vencerás. Algorítmica y Complejidad Tema Divide y Vencerás. . Método.. Un ejemplo sencillo.. Complejidad del método.. Ejemplo: El máximo subarray.. Ejemplo: Multiplicación de enteros. . Método.. Un ejemplo sencillo..

Más detalles

Planificaciones Algoritmos y Programación II. Docente responsable: JUAREZ ANDRES ALBERTO. 1 de 9

Planificaciones Algoritmos y Programación II. Docente responsable: JUAREZ ANDRES ALBERTO. 1 de 9 Planificaciones 7541 - Algoritmos y Programación II Docente responsable: JUAREZ ANDRES ALBERTO 1 9 OBJETIVOS Introducir los conceptos POO, diseño algoritmos y estructuras datos, utilizando nociones eficiencia

Más detalles

ALGORITMOS PROBABILISTAS NUMÉRICOS SHERWOOD LAS VEGAS MONTE CARLO

ALGORITMOS PROBABILISTAS NUMÉRICOS SHERWOOD LAS VEGAS MONTE CARLO ALGORITMOS PROBABILISTAS NUMÉRICOS SHERWOOD LAS VEGAS MONTE CARLO INTRODUCCIÓN Algoritmo probabilista: Deja al azar la toma de algunas decisiones. Cuando la decisión óptima llevaría mucho tiempo. Problemas

Más detalles

Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2011

Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2011 Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2011 Programa 1. Algoritmos: Definición de algoritmo. Máquina RAM. Complejidad. Algoritmos de tiempo polinomial y no polinomial. Límite inferior.

Más detalles

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010 Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del

Más detalles

Guía docente de la asignatura

Guía docente de la asignatura Guía docente de la asignatura Asignatura Materia Módulo Titulación ALGORITMOS Y COMPUTACIÓN COMPUTACIÓN TECNOLOGÍAS ESPECÍFICAS GRADO EN INGENIERÍA INFORMÁTICA Plan 545 Código 46944 Periodo de impartición

Más detalles