Está en la página 1de 10

Análisis de

algoritmos
Estructura de datos

Equipo #3
Bryan Meza Angulo
Artemio Alvarez Ayala
Logan Ransseth Rios Manriquez
INDICE
• 1.5.- ANALISIS DE ALGORITMOS

-Complejidad en el tiempo

-Complejidad en el espacio

-Eficiencia de los algoritmos


Complejidad en el tiempo
La complejidad temporal es el número
de operaciones que realiza un algoritmo
para completar su tarea (considerando
que cada operación dura el mismo
tiempo). El algoritmo que realiza la tarea
en el menor número de operaciones se
considera el más eficiente en términos de
complejidad temporal.
Para entender la complejidad temporal, tomaremos un ejemplo
en el que usaremos un algoritmo.
El problema es la búsqueda. Tenemos que buscar un elemento
en un arreglo (en este problema, vamos a suponer que el arreglo
está ordenado de forma ascendente). Para resolver el problema
tenemos como algoritmo:
- Búsqueda Lineal.
Tomemos como ejemplo un arreglo con diez elementos, y tenemos que
encontrar el número diez en el arreglo.

El algoritmo de búsqueda lineal comparará cada elemento del arreglo


con digito_buscado. Cuando encuentre el digito_buscado en el arreglo
regresara true.
Ahora vamos a contar el número de operaciones que realiza. En este
caso, la respuesta es 10 (ya que compara cada elemento del arreglo).
Entonces la búsqueda lineal utiliza diez operaciones para encontrar el
elemento dado (este es el número máximo de operaciones para este
arreglo; este caso también es conocido como el peor caso de un
algoritmo).
Complejidad en el Espacio
• La misma idea que se utiliza para medir la complejidad en
tiempo de un algoritmo se utiliza para medir su complejidad en
espacio. Decir que un programa es O(n) en espacio significa que
sus requerimientos de memoria aumentan proporcionalmente con
el tamaño del problema. Esto es, si el problema se duplica, se
necesita el doble de memoria. Del mismo modo, para un
programa de complejidad O(n^2) en espacio, la cantidad de
memoria que se necesita para almacenar los datos crece con el
cuadrado del tamaño del problema: si el problema se duplica, se
requiere cuatro veces más memoria. En general, el cálculo de la
complejidad en espacio de un algoritmo es un proceso sencillo
que se realiza mediante el estudio de las estructuras de datos y su
relación con el tamaño del problema.
Complejidad en el Espacio
• Comparación de algoritmos
• Comparemos dos algoritmos que resuelven el
mismo problema: “Visión” y “Nova”. El primer
algoritmo aumenta su espacio mientras más
estudiantes sean ingresados. Mientras que el
segundo algoritmo aumenta exponencialmente
su espacio necesario.
• Aunque ambos algoritmos resuelven el mismo
problema, manejan la cantidad de memoria
utilizada de manera diferente a medida que
procesa más elementos.
Eficiencia de los algoritmos
• Un algoritmo es eficiente cuando logra dar una solución a un
problema y utiliza la menor cantidad de recursos posibles:
espacio y tiempo.
• El diseño de un algoritmo busca probar que realmente es bueno
cumplir medidas de calidad y eficiencia.
• El tiempo es el recurso mas importante y se refiere a la cantidad
utilizada por el algoritmo mientras realiza una operación.
Eficiencia iterativa y recursiva
• Una operación iterativa se repite un numero de veces las
instrucciones y al finalizar, su salida sirve como punto de inicio
de la siguiente iteración.
• Una operación recursiva se repite hasta que llega a una
instrucción final o caso base, en que termina su ejecución
realizando el proceso completo.
BIBLIOGRAFIA
https://www.freecodecamp.org/espanol/news/introduccion-a-la-complejidad-tempo
ral-de-los-algoritmos/

https://platzi.com/clases/2517-complejidad-js/42445-complejidad-espacial/

http://artemisa.unicauca.edu.co/~nediaz/EDDI/cap01.htm

https://www.undefinedworld.com/blog/analisis-de-algoritmos

https://es.wikipedia.org/wiki/Complejidad_temporal

También podría gustarte