Escolar Documentos
Profissional Documentos
Cultura Documentos
Facultad de Ingeniera.
Escuela de Computacin.
Programacin III.
Tarea complementaria Gua #3.
Grupo: 01 T
1. Calcule el grado de complejidad (notacin O) y el tiempo, para los algoritmos utilizados en la
prctica (Insercin y de burbuja y todo el programa).
Mtodo Burbuja.
public int[] burbuja(int[] datos)
{
for (int i = 0; i < datos.Length; i++)-----------O(n)
{
for (int j = 0; j < datos.Length - 1; j++)-----O(n)
{
if (datos[j] > datos[j + 1])-------------- O(1)
{
int aux = datos[j]; -------------- O(1)
datos[j] = datos[j + 1]; -------------- O(1)
datos[j + 1] = aux; -------------- O(1)
}
}
}
return datos; --------------O(1)
}
FUNCION=O(n)*O(n)*O(1)*O(1)*O(1)*O(1)=O(n2) cuadrtica
}
}
}
FUNCION=O(n)*O(1)*O(1)*O(1)*O(1)*O(1)=O(n) lineal
/*else{
* datos= inserctionSort(datos);
* label5.Text = "Burbuja";
* }*/
FUNCION=O(n)*O(n)*O(1)*O(1)*O(1)*O(1)*O(1)=O(n2) cuadrtica
Insercin.
public int[] insertionSort(int[] datos)
{
for (int i = 0; i < datos.Length; i++)---------------- O(n)
{
int temp = datos[i]; --------- O(1)
int j = i - 1; --------- O(1)
}
datos[j + 1] = temp; ---------O(1)
}
return datos; --------- O(1)
}
FUNCION=O(n)*O(log(n))*O(1)*O(1)*O(1)*O(1)*O(1)*O(1)=O(nlog(n))
cuasilineal.
Tiempos obtenidos.
El tiempo empleado en el mtodo burbuja tendra que ser mayor ya que tiene una complejidad
cuadrtica, en cambio el insertionsort posee una complejidad cuasi-lineal.
3. Analice por qu los tiempos no siempre son iguales a pesar de ingresar los mismos nmeros al
arreglo.
El tiempo de ejecucin varia por el nmero de veces que se realizan los bucles dentro del cdigo y
adems todas las instrucciones que este tiene que realizar al momento de la ejecucin. A un mayor
nmero de instrucciones as ser el tiempo de demora, aunque se ingresen la misma cantidad de
datos.