+ All Categories
Home > Education > Complejidad de Algoritmos

Complejidad de Algoritmos

Date post: 11-Jul-2015
Category:
Upload: franco-cid
View: 284 times
Download: 1 times
Share this document with a friend
11
Complejidad de los Algoritmos
Transcript
Page 1: Complejidad de Algoritmos

Complejidad de los Algoritmos

Page 2: Complejidad de Algoritmos

¿Que es la complejidad

de un algoritmo?

Es cuando un algoritmo será mas eficiente comparado con

otro, siempre que consuma menos recursos, como

el tiempo y espacio de memoria necesarios para ejecutarlo.

Page 3: Complejidad de Algoritmos

Complejidad Temporal o Tiempo de ejecución

Tiempo de cómputo necesario para ejecutar algún programa.

Page 4: Complejidad de Algoritmos

Complejidad Espacial

Memoria que utiliza un programa para su ejecución, La

eficiencia en memoria de un algoritmo indica la cantidad de

espacio requerido para ejecutar el algoritmo; es decir, el

espacio en memoria que ocupan todas las variables propias al

algoritmo.

Page 5: Complejidad de Algoritmos

Tiempo de Ejecución

• El tiempo de Ejecución de un programa se mide en función de N, lo que

designaremos como T(N).

• Esta función se puede calcular físicamente ejecutando el programa

acompañados de un reloj, o calcularse directamente sobre el

código, contando las instrucciones a ser ejecutadas y multiplicando por

el tiempo requerido por cada instrucción.

Page 6: Complejidad de Algoritmos

Factores que influyen en

la Complejidad

• Tamaño del problema

• Naturaleza de los datos de

entrada

• Recursos hardware y software

Page 7: Complejidad de Algoritmos

•Tamaño del problema: magnitud(es) que al aumentar incrementan la

complejidad del algoritmo.

•Ejemplos:

Ordenación de un vector: número de elementos

Factorizar un número en sus factores primos: valor del número

• Naturaleza de los datos de entrada: en función de cuáles sean los

datos del problema se ejecutarán o no determinadas instrucciones de

decisión y será distinto el número de iteraciones de los bucles el

problema se resolverá en más o en menos tiempo.

•Ejemplo:

buscar en un vector el valor que está almacenado en la

primera celda resulta trivial en la búsqueda lineal.

Page 8: Complejidad de Algoritmos

Caso mejor: los datos de entrada consumen el mínimo

• Caso peor: los datos de entrada consumen el máximo (cota superior).

• Caso promedio: los datos se distribuyen de forma aleatoria. Difícil de calcular.

Naturaleza de los datos de entrada

Page 9: Complejidad de Algoritmos

COMPLEJIDAD ASINTÓTICA

Consiste en el cálculo de la complejidad temporal a priori de un algoritmo en función del tamaño del problema, n, prescindiendo de factores constantes multiplicativos y suponiendo valores de n muy grandes

No sirve para establecer el tiempo exacto de ejecución, sino que permite especificar una cota (inferior, superior o ambas) para el tiempo de ejecución de un algoritmo

Page 10: Complejidad de Algoritmos

NOTACION “O”

•Existen diferentes notaciones para la complejidad

asintótica

•Una de ellas es la notación O, que permite especificar

la cota superior de la ejecución de un algoritmo

•La sentencia “f(n) es O(g(n))” significa que la tasa de

crecimiento de f(n) no es mayor que la tasa de

crecimiento de g(n)

•La notación “O” sirve para clasificar las funciones de

acuerdo con su tasa de crecimiento

Page 11: Complejidad de Algoritmos

Jerarquía de ordenes de Complejidad


Recommended