Want to make creations as awesome as this one?

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.