Está en la página 1de 9

05/06/2022

Objetivos
¿QUE ES UN ALGORITMO?

¿POR QUE ANALIZAR UN ALGORITMO?

TIPOS DE ANALISIS

ORDENES DE COMPLEJIDAD

¿ALGORITMO?
ESTRUCTURA DE DATOS

1
PDF created with pdfFactory trial version www.pdffactory.com
05/06/2022

¿Qué es un Algoritmo?
• Es un conjunto finito de instrucciones
precisas ordenados de manera lógica para
resolver un problema.
• Su ejecución requiere ciertos recursos.

º
Comuni-
Memoria
caciones

0 ó más 1 ó más
entradas ALGORITMO salidas

Cuando un algoritmo es eficiente?

2
PDF created with pdfFactory trial version www.pdffactory.com
05/06/2022

Cuando un algoritmo es eficiente?


• Cuando logra llegar a sus objetivos
planteados utilizando la menor cantidad de
recursos posibles, es decir minimizando el
uso de memoria y tiempo de ejecución.

Eficiencia en los Algoritmos


• Desarrollar programas que sean prácticos, en
términos de requerimientos de
almacenamiento y tiempo de ejecución.

3
PDF created with pdfFactory trial version www.pdffactory.com
05/06/2022

ANALIZAR?
ESTRUCTURA DE DATOS

Por que analizar un Algoritmo?


• No sirve para establecer la frontera entre lo
factible y lo imposible.

• Usualmente existen varios algoritmos


disponibles para una aplicación particular y
quisiéramos conocer cual es el mejor o mas
apropiado.

4
PDF created with pdfFactory trial version www.pdffactory.com
05/06/2022

Tipos de Análisis
• Peor caso:
– Indica el mayor tiempo obtenido, teniendo en
consideración todas las entradas posibles.
• Mejor caso:
– Indica el menor tiempo obtenido, teniendo en
consideración todas las entradas posibles.
• Caso medio:
– Indica el tiempo medio obtenido, teniendo en
consideración todas las entradas posibles.

Ejemplo: Ordenar un vector


• Peor caso:
– Que el vector este ordenado en sentido inverso
• Mejor Caso:
– Que el vector ya este ordenado
• Caso medio:
– Que el vector este desordenado aleatoriamente.

5
PDF created with pdfFactory trial version www.pdffactory.com
05/06/2022

ORDENES DE COMPLEJIDAD
ESTRUCTURA DE DATOS

6
PDF created with pdfFactory trial version www.pdffactory.com
05/06/2022

COMPLEJIDAD
• Es el costo de un algoritmo que mide la cantidad
de recursos(memoria, tiempo) que el algoritmo
necesita para su ejecución.
• Esta se expresara en términos de la cantidad de
operaciones que realiza.
• Cada operación necesita una cantidad constante
de tiempo para ser ejecutada
– Del nro total de operaciones se obtiene una
estimación del tiempo que necesitara el algoritmo
para resolver el problema

Ordenes de Complejidad
O(1) orden constante
O(log n) orden logarítmico
O(n) orden lineal
O(n log n)
O(n2) orden cuadrático
O(na) orden polinomial (a > 2)
O(an) orden exponencial (a > 2)
O(n!) orden factorial

7
PDF created with pdfFactory trial version www.pdffactory.com
05/06/2022

Ordenes de Complejidad

Propiedades de Ordenes

8
PDF created with pdfFactory trial version www.pdffactory.com
05/06/2022

9
PDF created with pdfFactory trial version www.pdffactory.com

También podría gustarte