La complejidad de un algoritmo depende de la dificultad del problema que resuelve y se mide por su tiempo de ejecución, efectividad y recursos necesarios. Existen diferentes órdenes de complejidad como constante, lineal, cuadrático y exponencial, medidos por el número de operaciones y tamaño de datos. La potencia de un algoritmo depende de su eficiencia para resolver el problema, independientemente de dónde se ejecute.
2. La Complejidad de un algoritmo se basa en el nivel
de dificultad de un problema
A su vez, la complejidad del algoritmo se mide según sus tiempos
de ejecución, la efectividad del algoritmo en base a ese problema
u otros, y la Cantidad de Recursos que se necesite para efectuar la
solución
3. El Tiempo de Ejecución se
puede definir según la
cantidad y tamaño de los
datos de entrada
Para ello hay dos técnicas,
contar el numero de
operaciones que realiza el
programa
Medir los tiempo de ejecución de los
programas con datos de entrada de
distintos tamaños
4. Notación Asintótica
Es la medición de un algoritmo en términos de potencia, frente al aumento del
tamaño, esto quiere decir que matemáticamente que N tiende al infinito
5. ORDEN DE COMPLEJIDAD
Simbologia Nombre
O(1) Orden Constante
O(log n) Orden Logarítmico
O(n) Orden Lineal
O(n*2) Orden Cuadrático
O(n*a) Orden Polinomio
O(a*n) Orden Exponencial
O(n!) Orden Factorial
6. Su Medición
En tiempo se basa en las
Operaciones del Algoritmo y el
Tamaño de sus entradas
En Espacio se basas en la
memoria utilizada para su
ejecución y las estructuras de
datos usadas para su
implementación
7. Para cada estudio de un algoritmo se deben ver
los casos extremos, ordenados y desordenados,
para ver el comportamiento, rendimiento y
eficacia del.
Peor Caso
Un numero mayor de
operaciones
Caso Promedio
La cantidad de operaciones es
proporcional a la memoria
Peor Caso
Un mínimo de operaciones
con el minino gasto de
memoria
8. La Potencia de un Algoritmo se
toma sin contar el medio
donde se ejecute
La Potencia del un algoritmo, se mide según la
eficiencia hacia su problema indicado, lo que no
deja invalido un algoritmo similar, ya que
depende de la problemática en la que se
enfrente