3. Imagina que quieres obtener toda la colección de juegos de una consola favorita,
para ello hay dos versiones…
Digital o física y esperar a que llegue a tu casa. Si quieres rápido obtenerlos elegirías la primer
opción.
Se conoce como tiempo de ejecución asintótico o big o
4. Tiempo que llevara obtener de formato digital, mas juegos mas datos a
descargar O(j) siendo j num de juegos, por otra parte la compra de juegos físico,
no importa la cantidad, llegara de forma contantes o(1)
O(j) supera en tiempo de ejecución a o(1)
No interesa para determinar la eficiencia
de un algoritmo
12. En la imagen de la izquierda vemos un
bucle que recorre array de enteros
calculando una suma y un producto
de forma acumulativa, podemos deducir que este
algoritmo
Tiene una complejidad temporal o(N) lineal
Siendo N el tamaño del array
Ya que tenemos que pasar una vez por cada uno
de los elementos del array.
Si el tamaño de este array crece la complejidad
El tiempo de ejecución del mismo
Crecera de forma lineal, si crece el tamaño del
array la complejidad del alg su tiempo de
ejecución crecerá de forma lineal
13. Aquí es separa el procesamiento en dos bucles for
Uno para la suma y otro para el producto
Es muy fácil tiene una complejidad O(2*N)
Ya que el algoritmo recorre el array dos veces
Pero esto no es asi, ya que el numero de instrucciones
no influye en la complejidad algorítmica
La complejidad algorítmica no mide eso, mide la
Forma que crece el tiempo de ejecución de un
Algoritmo según los valores de entrada.
14.
15. La constante que vemos es la de O(5N)
Complejidad exponencial O(2^N), el
ritmo que crece va a ser superado
Por una complejidad mayor como
puede ser la exponencial.
O(N) u O(5N) crecen siempre al mismo
ritmo. Forman la misma figura línea
recta.
La exponencial una parabola.
Lo importante es el
ritmo de crecimiento
no el numero de
instrucciones
ejecutadas
16. El array en el 1
bucle para tener la
suma total. Compl.
lineal O(N)
Luego hay 2 bucles
for aninados, para
cada elemento del
array, recorremos
otro n elementos, la
compl seria O(N^2),
big O completo
seria suma de
ambas , se debe
eliminar la
constante.
17.
18. Tenemos las complejidades malas que queremos evitar a toda costa
Ya que los algoritmos con esta complejidades tendrán un mal comportamiento
cuando sean sometidos
A un gran numero de datos de entradas son la compl cudratica, la exponencial, y
la peor de todas la factorial.
19. Es una función que dada los dos valores enteros retorna al máximo de ambos, esta función
Va a tardar siempre lo mismo, no depende de los datos de entrada y es por eso que tiene una
Complejidad constante
20. Si el array no esta ordenado, debemos recorrer todo el array para encontrar
hasta el final para ver que no se encuentra, la búsqueda binaria se sitúa a la
mitad del array
Ordenado, si el elemnto que queremos encontrar es mayor que el elemento
central
Quiere decir que se tiene que encontrar en la parte derecha del array en caso
contrario esta en la parte izquierda.