I) OBJETIVOS
Revisar los temas de Complejidad de algoritmos y orden de la complejidad de algoritmos III) PRÁCTICAS DE LABORATORIO 1) Cálculo del tiempo transcurrido en milisegundos de la ejecución de un algoritmo. class Program { static void Main(string[] args) { // Obtener el tiempo inicial DateTime t1 = DateTime.Now; // Ejecutar el algoritmo para un valor n = 100 int suma = sumaN(100); Console.WriteLine("Valor de la Suma: {0}",suma); // Obtener el tiempo final de la ejecución DateTime t2 = DateTime.Now; //Determinar el tiempo en milisegundos long tiempo = ((t2.Hour + t2.Minute + t2.Second) * 1000
((t1.Hour + t1.Minute + t1.Second) * 1000 + t1.Millisecond); // Mostrar el tiempo Console.WriteLine("El tiempo transcurrido es: {0}",tiempo); Console.ReadKey(); } static int sumaN(int n) { int s = 0; for (int i = 1; i <= n; i++) { s = s + i; } return s; } } 2) Cálculo del tiempo transcurrido en milisegundos utilizando la clase Stopwatch. static void Main(string[] args) { // Obtener el tiempo inicial Stopwatch reloj = new Stopwatch(); reloj.Start(); // Ejecutar el algoritmo para un valor n = 100 int suma = sumaN(100000); Console.WriteLine("Valor de la Suma: {0}", suma); // Obtener el tiempo final de la ejecución reloj.Stop(); //Determinar el tiempo en milisegundos long tiempo = reloj.ElapsedMilliseconds; // Mostrar el tiempo Console.WriteLine("El tiempo transcurrido es: {0}", tiempo); Console.ReadKey(); } IV) TAREA: 1) Aplicando los programas de la practica determine gráficamente la complejidad de un algoritmo, lineal, cuadratico, cubico, exponencial. 2) Aplicando los programas de la práctica determine gráficamente la complejidad de un algoritmo de Potencia, Factorial y Fibonaci. Considere los casos de soluciones iterativa y recursivas. 3) Implemente un programa para medir el tiempo de ejecución en nanosegundos. V) REFERENCIAS BIBLIOGRAFICAS |