Академический Документы
Профессиональный Документы
Культура Документы
SEPTIEMBRE 2016
PROGRAMACION II: ESTRUCTURA DE DATOS Y ANÁLISIS DE ALGORITMOS - CAPÍTULO II 1
Contenido
Introducción
Análisis de un Algoritmo
¿Qué es la complejidad de Espacio?
¿Qué es la complejidad de Tiempo
Notación Cota Superior O(f)
Limitaciones de la Notación cota Superior O(f)
Balance Tiempo-Espacio
Ejercicios Prácticos
La cantidad de espacio requerido por una función recursiva es llamado espacio de pila de
recursión y depende del espacio requerido para las variables locales y los parámetros.
Adicionalmente, este espacio depende de la máxima profundidad de la recursion. i.e. máximo
número de llamadas recursivas anidadas.
La función que tiene ‘n’ como un exponente i.e. 2n, nn, n! son llamadas funciones exponenciales.
Las funciones n3, n2, nlog2n, n, log2 n, son polinomiales.
Ejemplos :
◦ a++ 2 OE (=,+)
◦ b = a*5 – Vector[2*2] 5 OE (=,*,- ,[],*)
◦ b += suma(a,b<2) 4OE (=,+,salto, <)
◦ C++==E[1] AND B>3 6 OE (=,+,==,[],AND,>)
Entonces:
En el caso major, el order de la complejidad es constante. En los casos peor y medio el orden de
la complejidad es lineal O(n).
WHILE C DO S END
T = T(C) + (nº iteraciones)*(T(S) + T(C))
tanto T(C) como T(S) pueden variar en cada iteración
Para resto de sentencias iterativas (FOR,etc...) basta expresarlas como un bucle WHILE
El primer elemento más el último, multiplicado por el número de elementos y dividido por 2
El primer elemento multiplicado por la razón elevada al número de elementos menos 1 y todo
dividido por la razón menos 1”
Por lo que decimos que la Ordenación por Burbuja tiene una complejidad cuadrática del orden
de O(n2)
Peor caso:
Caso Medio: