RECURSIVIDAD.

Slides:



Advertisements
Presentaciones similares
INTELIGENCIA ARTIFICIAL
Advertisements

Diseño y análisis de algoritmos
ESTRUCTURA DE DATOS Unidad 01 RECURSIVIDAD.
Programación I Teoría VI: Recursividad
Funciones y Procedimientos(Pseudocódigo)

Material de apoyo Unidad 4 Estructura de datos
Análisis de algoritmos
Parte I. Estructuras de Datos.
Recursividad Un objeto se dice que es recursivo si él mismo forma parte de su definición. Ejemplos de objetos recursivos: Una locomotora es un tren Un.
Programación Procedural y Recursiva en C++
COMPUTACIÓN I TEMA 5. Subprogramas o funciones. Alcance de variables
Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -10-
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Ing. Betty Suárez Torres
Unidad V Recursión. Objetivos del Aprendizaje Explicar el concepto de recursión. Discutir las diferentes condiciones que deben ser satisfechas para que.
Conalep Coacalco Algoritmos Recursivos
1 Clase 23: técnicas (3/4) orden recursivo iic1102 – introducción a la programación.
Recursividad.
Análisis de los algoritmos Unidad 7. Análisis La resolución práctica de un problema – algoritmo o método de resolución – y por otra un programa o codificación.
MÉTODO CONGRUENCIALES David Chacón. Método Congruenciales Se han desarrollado básicamente tres métodos de congruenciales para generar números pseudoaleatorios,
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
SISTEMAS NUMERICOS ING. SUSANA BELTRAN.
VENTAJAS DEL ALGORITMO LMS
Tema VII. Recursividad. Recursividad. Concepto. Recursividad directa e indirecta. Recursividad versus iteración. Recursividad infinita. Ejemplos de problemas.
Olimpiadas Chilenas de Informática - Formación
Programación Orientada a Objetos
Estructuras de Datos Recursividad.
Complejidad Programación II de febrero de 2009.
Recursividad Programación II Recursividad.
Estructura de Datos Introducción a:.
Figure: Algoritmos.
TUTORIAL PSeint.
Unidad 6. Capítulo IV. Puntos ordinarios y puntos singulares.
2.2 Procedimientos recursivos
Unidad 4 Anexo 3. Capítulo V. Reducción del orden.
PROGRAMACION DINAMICA
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Procedimientos y Funciones
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Unidad 2. Algoritmos Unidad 4. Control de flujo
CAPÍTULO 5: SEGMENTACIÓN Y TRATAMIENTO DE IMÁGENES BINARIAS
Hipervínculos scratch
Búsqueda por profundidad iterativa
Estructuras de control Resolución de problemas y algoritmos
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Programación: paradigma estructurado Mgs Christian Rosado.
Ciclo de vida del Software
Tema 6 Clasificación de algoritmos
Estructuras de Repetición Pseudocodigo1 Estructuras de Repetición Algoritmos Mientras Hacer-Mientras Para.
Fundamentos de programación
Funciones y Procedimientos(Pseudocódigo)
Fundamentos de la Programación I
Recursividad Estructura de datos 2005.
ACCIONES Y ESTRUCTURAS
Progresiones. La esencia de la matemática no es hacer las cosas simples complicadas, sino hacer las cosas complicadas simples (S. Gudder) Montoya.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
MC Beatriz Beltrán Martínez Verano 2018
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
Recursividad 1 Análisis de algoritmos. Matrushka La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera que contiene otra muñeca más.
Estructuras de Repetición Algoritmos
Ejemplo 1: Sea la sucesión de enteros b 0, b 1, b 2, b 3, b 4, b 5, ……. donde b n = 2n para todo N Entonces tenemos: b 0 = 2*0 = 0 b 1 = 2*1 = 1 b 2 =
LOGICA INTERACTIVA USO DEL HACER PARA Engloba un grupo de instrucciones HACER PARA [I] = 1 a 10 Es la única de las repetitivas que no depende de una expresion.
Informática Aplicada al Medio Ambiente - Curso 99/00 1 Tema 6. Introducción a la programación 1 Conceptos básicos 2 Los algoritmos – Concepto de algoritmo.
ALGORITMO DE ORDENAMIENTO POR BURBUJA. El método de la burbuja es uno de los mas simples, es tan fácil como comparar todos los elementos de una lista.
EVOLUCIÓN DE LOS PARADIGMAS DE PROGRAMACIÓN Integrantes: Christian Abad, Kevin Colcha.
Estrategia algorítmica
Recursividad.
Transcripción de la presentación:

RECURSIVIDAD

RECURSIVIDAD • Definición de Recursividad: Técnica de programación muy potente que puede ser usada en lugar de la iteración. • Ambito de Aplicación: – General – Problemas cuya solución se puede hallar solucionando el mismo problema pero con un caso de menor tamaño. • Razones de uso: Simplificación en la solución de problemas. – Soluciones elegantes. – Soluciones más simples. • Condición necesaria : ASIGNACIÓN DINÁMICA DE MEMORIA

RECURSIVIDAD Que es la recursividad – En el cuerpo de sentencias del subalgoritmo se invoca al propio subalgoritmo para resolver “una versión más pequeña” del problema original. – Habrá un caso (o varios) tan simple que pueda resolverse directamente sin necesidad de hacer otra llamada recursiva. . ALGORITMO Recursivo(...) INICIO ... Recursivo(...); FIN

RECURSIVIDAD Ejemplo: Factorial de un número entero Factorial(n)= 1 si n == 0 n*Factorial(n-1) si n > 0

RECURSIVIDAD Ejemplo: Factorial de número entero ALGORITMO N Factorial(E n:N) VAR N fact INICIO SI n == 0 ENTONCES fact = 1 SINO fact = n*Factorial(n-1) FINSI DEVOLVER fact FIN

RECURSIVIDAD Definir un algoritmo para determinar los n números de la serie de Fibonachi Serie Fibonachi 0,1,1,2,3,5,8,13,21,34,55,89,144 Inicia con 0,1, cada número de la serie es la suma de los dos anteriores.

RECURSIVIDAD Serie de Fibonachi: Casos-base: n<=2 fib = 1 Caso General: n>2 fib(n) = fib(n-1) + fib(n-2)

RECURSIVIDAD SERIE DE FIBONACHI ALGORITMO N Fib(E N n) VAR N fb INICIO SI (n <= 2) ENTONCES fb = 1 SINO fb = Fib(n-1) + Fib(n-2) FINSI DEVOLVER fb FIN

RECURSIVIDAD TRABAJO Imprimir el equivalente binario de un número decimal N N MOD 2 N DIV 2 23 1 11 11 1 5 5 1 2 2 0 1 1 1 0

RECURSIVIDAD Ventajas de la Recursión ya conocidas – Soluciones simples, claras. – Soluciones a problemas complejos. Desventajas de la Recursión: INEFICIENCIA – Sobrecarga asociada con las llamadas a subalgoritmos • Una simple llamada puede generar un gran numero de llamadas recursivas. (Fact(n) genera n llamadas recursivas) • ¿La claridad compensa la sobrecarga? • El valor de la recursividad reside en el hecho de que se puede usar para resolver problemas sin fácil solución iterativa. – La ineficiencia inherente de algunos algoritmos recursivos.

RECURSIVIDAD Preguntas: Recursividad vs Ciclos Iteractivos Cuando usar la una y cuando usar la otra.