Cuadro sinóptico Algoritmos
JONATHAN EDUARDO ROJAS DURAN
Created on September 6, 2024
Jonathan Eduardo, Oscar Uriel
More creations to inspire you
Transcript
Universidad Politecnica de Guanajuato
Analisis Algoritmicos
Unidad 1. Análisis de Complejidad
Jonathan Eduardo Rojas Duran Oscar Uriel Cuevas Gasca
Grupo:4°A - Fecha: 6-09-2024
ALGORITMOS
Algoritmos
Un algoritmo es un procedimiento o una serie de pasos que se deben realizar pararesolver algún problema o situación y hay muchas formas distintas de resolverlos.
principios
Los principios de los algoritmos establecen que un algoritmo debe s1er una secuencia de pasos claramente definidos y ordenados, que permita resolver un problema específico de manera efectiva. Es crucial que el algoritmo sea eficiente, utilizando los menores recursos posibles en términos de tiempo y espacio, en relación con el tamaño de la entrada
Clases de Complejidad Computacional
Enfoque de Divide y Vencerás
División
Divide el problema en subproblemas más pequeños y manejables.
Conquista y Combina
Resuelve los subproblemas de forma recursiva. Luego, combina las soluciones de los subproblemas para obtener la solución del problema original.
Reducción del Problema
Resolución Recursiva
Combinación de Soluciones
Caracteristicas
Los principios del análisis de algoritmos se enfocan en tres cosas: primero, eficiencia temporal, que mide cuánto tiempo tarda un algoritmo según el tamaño de la entrada; segundo, eficiencia espacial, que evalúa cuánta memoria necesita el algoritmo; y tercero, análisis del peor caso, que estima el rendimiento del algoritmo en las condiciones más difíciles. Estos principios ayudan a comparar y elegir el algoritmo más eficiente.
Complejidades comunes
Complejidades avanzadas
Algoritmos representativos
Big-O
Función dominante
Ordenamientos
Recursividad profunda
Ventajas
Entre las ventajas, destacan la posibilidad de automatizar procesos repetitivos, la mejora en la precisión y la reducción de errores humanos.
Desventajas
también presentan desventajas, como la necesidad de tiempo y recursos para su desarrollo y prueba, y la posibilidad de que sean difíciles de entender o mantener
Las clases de complejidad computacional categorizan los algoritmos según el tiempo o espacio que requieren en función del tamaño de la entrada
El enfoque de Divide y Vencerás es una técnica para resolver problemas complejos dividiéndolos en subproblemas más pequeños y manejables.