complejidad de algoritmos2
TRANSCRIPT
![Page 1: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/1.jpg)
Jonathan Higuera
Complejidad de Algoritmos
![Page 2: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/2.jpg)
COMPLEJIDAD DE UN ALGORITMO
• La complejidad de un algoritmo depende del tamaño del problema que deseamos resolver
![Page 3: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/3.jpg)
Entonces se puede diferir que la complejidad de un algoritmo se puede medir en relación a la cantidad de
TIEMPO y ESPACIO que un algoritmo necesita
![Page 4: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/4.jpg)
Entonces la complejidad es la cantidad de tiempo en que se demora el algoritmo para la ejecución de la operación
TIEMPO como factor
![Page 5: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/5.jpg)
ENTONCES LA COMPLEJIDA ESTA EN LA MEMORIA QUE SE REQUIERE PARA EJECUTARLA
Si uno de los recursos es el espacio …
![Page 6: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/6.jpg)
CADA UNO DE LOS ALGORITMOS SE COMPORTARA DIFERENTE DEPENDIENDO DE LOS DATOS DE ENTRADA QUE SE LE ENTREGA
![Page 7: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/7.jpg)
• Los algoritmos se comportan de distinta manera de acuerdo a como se les ingrese la información.
• Por esto es necesario analizar como se comportan en los casos extremos, utilizando datos muy ordenados o datos muy desordenados.
VARIABLES DE ENTRADA
![Page 8: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/8.jpg)
PEOR CASO
El peor caso consiste en verificar cuántas operaciones tienen que realizar los algoritmos para llegar a la solución, entre más operaciones se hagan el caso es peor
![Page 9: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/9.jpg)
CASO PROMEDIO
Se Busca un promedio de operaciones que se realizan para la solución de un problema. Se considera todas las entradas posibles con un tamaño determinado
![Page 10: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/10.jpg)
Mejor Caso
El mejor caso, es aquel en el que el algoritmo utiliza la menor cantidad de recursos (tiempo, por ejemplo) para solucionar el problema.
![Page 11: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/11.jpg)
Cuando el tamaño de una entrada crece, la función para medir dicha complejidad es denotada como T(n)
Tiempo de Ejecución.
![Page 12: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/12.jpg)
Se analiza el Comportamiento del algoritmo cuando n (tamaño) tiende a infinito
Notación Asintótica
![Page 13: Complejidad de algoritmos2](https://reader030.vdocuments.pub/reader030/viewer/2022032619/55c09159bb61eb36198b4768/html5/thumbnails/13.jpg)
La complejidad del algoritmo se denota con Big-0
O(1) Complejidad constante O(n2) Complejidad cuadrática
O(log n) Complejidad logarítmica O(n) Complejidad lineal
O(n log n) Complejidad casi-lineal O(n^b) Complejidad polinómica
O(b^n) Complejidad exponencial O(n!) Complejidad factorial