INSTRUCCIONES | - Implementar el algoritmo de búsqueda secuencial en un arreglo.
- Obtener el tiempo de ejecución para N= 10.000, 20.000, 40.000, 80.000, 160.000, 320.000 y 640.000.
- Graficar la curva de crecimiento del tiempo de ejecución obtenido.
- Analizar y comprobar la complejidad del algoritmo a través de T(N)/F(N) con complejidad lineal, logarítmica, cuadrática y cúbica.
- ¿Cuál es la complejidad del algoritmo? Justificar su respuesta
- Implementar el algoritmo para obtener la factorial de un número.
- Obtener el tiempo de ejecución para N = 1, 2, 4, 8, 16, 32, 64.
- Graficar la curva de crecimiento del tiempo de ejecución obtenido.
- Analizar y comprobar la complejidad del algoritmo a través de T(N)/F(N) con complejidad lineal, logarítmica, cuadrática y cúbica.
- ¿Cuál es la complejidad del algoritmo? Justificar su respuesta
- Puntos más próximos
- Obtener el tiempo de ejecución para N= 10, 100, 1.000, 10.000, 100.000 y 1.000.000
- Graficar la curva de crecimiento del tiempo de ejecución obtenido.
- Comprobar la complejidad del algoritmo al analizar los tiempos de ejecución obtenidos, teniendo un factor de 10. Además, calcular el tiempo de ejecución para 10.000.000 y 100.000.000 elementos
- ¿Cuál es la complejidad del algoritmo? Justificar su respuesta
- Suma máxima contigua (cúbica, cuadrática y lineal)
- Obtener el tiempo de ejecución para N= 5, 25, 125, 625, 3.125, 15.625, y 78.125
- Graficar la curva de crecimiento de los tiempos de ejecución obtenidos.
- Comprobar la complejidad del algoritmo al analizar los tiempos de ejecución obtenidos, teniendo un factor de 5. Además, calcular el tiempo de ejecución para 390.625 y 1.953.125 elementos
- Analizar y comprobar la complejidad del algoritmo a través de T(N)/F(N) con complejidad lineal, logarítmica, cuadrática y cúbica
- ¿Cuál es la complejidad del algoritmo? Justificar su respuesta
- Un elemento mayoritario en una matriz A de tamaño N (filas por columnas) es un elemento que aparece más de N/2 veces (siempre habrá un elemento mayoritario en cada matriz). Por ejemplo:
3, 3, 4, 2, 4, 4, 2, 4, 4 (el elemento mayoritario = 4) 3, 3, 4, 2, 4, 4, 2, 4 (no tiene elemento mayoritario)
Escriba un algoritmo para determinar el elemento mayoritario, si es que existe uno, o para informar que no existe tal elemento.
- Obtener el tiempo de ejecución para N = 10, 100, 1.000, 10.000, 100.000 y 1.000.000
- Graficar la curva de crecimiento de los tiempos de ejecución obtenidos.
- Comprobar la complejidad del algoritmo al analizar los tiempos de ejecución obtenidos, teniendo un factor de 5. Además, calcular el tiempo de ejecución para 390.625 y 1.953.125 elementos
- Analizar y comprobar la complejidad del algoritmo a través de T(N)/F(N) con complejidad lineal, logarítmica, cuadrática y cúbica
- ¿Cuál es la complejidad del algoritmo? Justificar su respuesta
- Para cada uno de los siguientes fragmentos de programa, haga lo siguiente:
- Proporcione un análisis O mayúscula.
- Implemente el código y ejecútelo para N = 10, 100, 1.000, 10.000, 100.000 y 1.000.000
- Compruebe su análisis con los tiempos de ejecución reales, ya sea analizando el tiempo de ejecución ó a través de T(N)/F(N).
- ¿Cuál es la complejidad del algoritmo? Justificar su respuesta
// Fragmento 1 for( int i = 0; i < n; i++ ) sum++;
// Fragmento 2 for( int i =0; i < n; i += 2 ) sum++;
// Fragmento 3 for( int i = 0; i < n; i++ ) for( int j =0; j < n; j++) sum++;
// Fragmento 4 for( int i = 0; i < n; i++ ) sum++; for( int j = 0; j < n; j++) sum++; // Fragmento 5 for(int i = 0; i < n; i++) for(int j = 0; j < n*n; j++) sum++;
// Fragmento 6 for( int i = 0; i for( int j = 0; j sum++;
// Fragmento 7 for( int i =0; i for( int j = 0; j < n * n; j++ ) for( int k = 0; k< j; k++ ) sum++:
// Fragmento 8 for( int i = 1; i < n; i = i * 2 ) sum++; |