Documente Academic
Documente Profesional
Documente Cultură
Facultad de Ingeniera
Universidad de Concepcin
Tarea 1
Integrantes:
Pablo Flores Torres
Matas Lermanda Sandoval
Profesora:
Mara Andrea Rodrguez Tastets
Ayudante:
Erick Elejalde Sierra
Fecha:
20 de Abril de 2015
for i = 0 to n-1 do
for j = i + 1 to n- 1 do
for k = i to n do
A[j, k]
<- A[j, k] - A[I, k] *A[j, i]/A[I, i]
=
=
=
=
6;
6;
9;
13;
matriz[2][0]
matriz[2][1]
matriz[2][2]
matriz[2][3]
=
=
=
=
8;
10;
12;
33;
4*n(n-i+1)(n-i)
con c R, n0 n
Lo que nos indica que en notacin Big-O la complejidad de este algoritmo es O(n3).
Al analizar este cdigo y ver que es mejor, usamos su complejidad para demostrarlo, la cual
est representada a travs de la siguiente sumatoria:
S=
(n-1)*i
i=1-> n-1
i=2-> 2n-2
i=3-> 3n-3
.
.
.
i=n-1-> n2 -2n + 1
Por lo cual el trmino dominante es n2 y por lo tanto nuestra sumatoria S esta acotada de la
siguiente forma:
S cn2
con c R, n0 n
Lo que nos indica que en notacin Big-O la complejidad de este algoritmo es O(n2). Siendo
mejor que el anterior algoritmo que tenia complejidad O(n3).
A continuacin se muestra el cdigo para que pueda ser probado y comprobar que realiza lo
mismo que el cdigo original.
public class matriz {
public static void main(String[] args) {
int matriz[][] = new int[3][4]; // Creamos una matriz de 3x4 como ejemplo
int i, j, k, n = 3;
// Inicializamos los valores de la matriz
matriz[0][0] = 2;
matriz[0][1] = 4;
matriz[0][2] = 4;
matriz[0][3] = 7;
matriz[1][0] = 6;
matriz[1][1] = 6;
matriz[1][2] = 9;
matriz[1][3] = 13;
matriz[2][0] = 8;
matriz[2][1] = 10;
matriz[2][2] = 12;
matriz[2][3] = 33;
// Recorremos la matriz para verificar su configuracin inicial
for (int x = 0; x < matriz.length; x++) {
for (int y = 0; y < matriz[x].length; y++) {
System.out.print(matriz[x][y]);
}
System.out.println();
}
//proceso mejorado
for (i = 1; i <= n -1; i++) {
for (j = 0; j <= i ; j++) {
matriz[i][j]=0;
}
}
System.out.println("************");
for (int x = 0; x < matriz.length; x++) {
for (int y = 0; y < matriz[x].length; y++) {
System.out.print(" " + matriz[x][y]);
}
System.out.println();
}
}
}
S
S, divide S en dos partes:
> p}
k)
k -|S1|- 1)
Primero que todo, por simplicidad suponemos que los nmeros del conjunto S no se repiten
y adems k |S| para conservar la correctitud del algoritmo de bsqueda.
Definimos nuestra variable aleatoria.
- X: nmero de iteraciones que realiza el algoritmo.
En donde xi seala la i-sima iteracin.
Por lo tanto nuestra ecuacin para determinar la esperanza queda de la siquiente forma:
E[X] = E[ xi] =
.
.
.
Probabilidad de encontrar
el k-simo elemento en la
iteracin n
Probabilidad de no haber
encontrado el elemento
anteriormente