Académique Documents
Professionnel Documents
Culture Documents
O la nacin asinttica, nos ayuda a describir el comportamiento de una funcin al lmite, a este
se le da tambin uso en las ciencias de la computacin, esta nos ayuda a describir el
comportamiento de un algoritmo ya sea en tiempo(cuantas unidades de tiempo tardara en
ejecutarse) y requisitos(la cantidad de memoria que necesitara para ejecutarse), todo esto
basado en la cantidad de elemento que recibe y sobre los que opera, a esto se le conoce
mayormente como Complejidad algortmica este anlisis es muy utili para algoritmos con
cantidad de datos de entrada masivos.
Ejemplo:
Supongamos que tenemos una fila de n cajas y solo una contiene algo en su interior, asique
siendo que solo podemos abrir un caja a la vez, en el peor de los casos tendremos que abrir n
cajas, por lo que la complejidad del algoritmo seria lineal u O(n).
Una gran ayuda al utilizar esta notacin es que es independiente del entorno (donde o quien lo
ejecute).
Con el ejemplo anterior , sea que usted puede abrir cada caja en 3 segundo , otro amigo lo
podra hacer cada 2 segundos, no importara quien tardase menos pues los dos al utilizar el
mismo algoritmo, la complejidad seguir siendo la misma(lineal).
De forma matemtica:
Si un algoritmo desea resolver una ecuacin de segundo grado, esta ser contante o O(1) pues
siempre har los mismos pasos, pero si es como en el ejemplo de ls cajas seria O(n) pues es
conforme la cantidad de datos que des.
Luego si nosotros en vez de una fila de n cajas colocamos un espacio n*n cajas en el que
tambin solo una contiene algo en su interior, a esto se le designara O(n^2) (complejidad
cuadrtica) y as sucesivamente conforme las dimensiones que se le de al problema; a esto se
le designara O(n^x) (complejidad polinomial).
Si en caso se tenga un algoritmo que vayan dividiendo y descartando partes del problema
sobre que estn trabajando. A esto mayormente se le conoce como Divide y vencers; el
cual contiene varios algoritmos basados en eso como lo son:
-Heap sort
-Merge sort
-Quick sort
Otro caso el cual es muy diferente de al anterior, son de los algoritmos con complejidad
Factorial denotados por O (n!), para este caso con una entrada conforme vaya aumentando
este aumentara en forma factorial, es decir:
n!=n(n-1)(n-2)(1).
Esta mayormente se utiliza para encontrar un camino ms corto entre los tantos que existe
Con el poder computacional que tenemos hoy en da un algoritmo que tenga como
entrada un grupo de datos pequeo o mediano puede terminar en un tiempo
aceptable, sin embargo si no analizamos su complejidad no estaremos seguros si el
algoritmo funcionar con un grupo de datos grande (como algunos millones de datos).