Ejercicio: Dada una recurrencia de n n - PowerPoint PPT Presentation

About This Presentation
Title:

Ejercicio: Dada una recurrencia de n n

Description:

Ejercicio: Dada una recurrencia de n n meros, encontrar el segmento continuo de ... Cuando el Sij es el sufijo (siempre se inserta el n- simo elemento al fina) ... – PowerPoint PPT presentation

Number of Views:99
Avg rating:3.0/5.0
Slides: 12
Provided by: Clau299
Category:

less

Transcript and Presenter's Notes

Title: Ejercicio: Dada una recurrencia de n n


1
Análisis y Diseño de Algoritmos
  • Ejercicio Dada una recurrencia de n números,
    encontrar el segmento continuo de mayor suma.
  • Fuerza Bruta O(n2)

2
Análisis y Diseño de Algoritmos
  • Hipótesis Tengo la suma máxima para x1,,xn y
    ahora agrego xn
  • De esto tenemos dos casos
  • xnlt0 , entonces no hago nada
  • xngt0
  • Cuando el Sij es el sufijo (siempre se inserta el
    n-ésimo elemento al fina).
  • Cuando Sij no es el sufijo

3
Análisis y Diseño de Algoritmos
  • En general tenemos
  • T(n)D(n)S(n)U(n)
  • Donde D(n), es la instancia de dividir el
    problema.
  • S(n), es la resolución de los subproblemas.
  • U(n), es la unión de las soluciones parciales
    para obtener la solución completa.

4
Análisis y Diseño de Algoritmos
  • Seudo-Código Recursivo

5
Análisis y Diseño de Algoritmos
  • Implementaciones
  • Recursivas
  • Código Directo
  • Almacenar los resultados de los subproblemas ya
    calculados (Programación Dinámica)

6
Análisis y Diseño de Algoritmos
  • Ejemplo
  • Calcular el número de fibonacci
  • fnfn-1fn-2 f00 y f11
  • Implementación
  • int f(n)
  • if(nlt1) return(n)
  • else return(f(n-1)f(n-2))
  • Cuál es el orden de este algoritmo?

7
Análisis y Diseño de Algoritmos
  • Repetimos Calculos

8
Análisis y Diseño de Algoritmos
  • Alternativa, Utilización de la programación
    Dinámica.
  • Esta implementación es de orden O(n), pero
    utiliza espacio lineal.

9
Análisis y Diseño de Algoritmos
  • Problema Encontrar la subsecuencia común más
    larga entre dos secuencias
  • Subsecuencia cualquier subconjunto de elementos
    que mantienen el orden.
  • Cuánto es el número de subsecuencias distintas
    de una secuencia de largo n?

10
Análisis y Diseño de Algoritmos
  • Aquí es importante mantener el orden de las
    secuencias, la idea es que no se crucen las
    paridades entre los arreglos.
  • Es posible utilizar inducción?

11
Análisis y Diseño de Algoritmos
  • Implementación
  • Es una buena idea utilizar recursividad?
Write a Comment
User Comments (0)
About PowerShow.com