Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Unidad 7
Introduccin
La notacin "Big-O" y el anlisis de complejidad de algoritmos es simplemente una forma de evaluar qu tan rpido un programa o un algoritmo se ejecutan. La complejidad de algoritmo est diseada para comparar dos algoritmos en un nivel conceptual, de idea, antes de elegir el hardware y software con que se va a ejecutar. Pofilers miden el tiempo de ejecucin en milisegundos y ayudan a optimizar nuestro cdigo, al identificar los cuellos de botella que podra haber en l.
Instrucciones de Conteo
El elemento mximo en un array puede encontrarse usando este sencillo cdigo. Dado como entrada un array A de tamao n:
1.- Contar las instrucciones siguientes:
Asignar un valor a una variable Buscar el valor de un elemento en particular en un array Comparar dos valores Incrementar un valor Operaciones aritmticas bsicas tales como adicin y multiplicacin
Instrucciones de Conteo
El elemento mximo en un array puede encontrarse usando este sencillo cdigo. Dado como entrada un array A de tamao n:
Esto requiere 2 instrucciones: una para buscar A[ 0 ] y otra para asignar el valor a M. Asumimos que n siempre es al menos. El bucle o for loop tambin tiene que correr siempre. Esto da dos instrucciones ms: asignacin y comparacin: i = 0; i < n;
Estas dos instrucciones siempre son requeridas por el algoritmo, independiente del valor de n y corrern antes de la primera iteracin for loop. Despus de cada iteracin for loop, se necesitan ejecutar dos instrucciones ms: un incremento de i y una comparacin para chequear si nos mantenemos en el bucle: ++i; i < n;
Instrucciones de Conteo
El elemento mximo en un array puede encontrarse usando este sencillo cdigo. Dado como entrada un array A de tamao n:
Instrucciones de Conteo
{
if ( A[ i ] >= M ) M = A[ i ];
Ahora, si nos fijamos en el cuerpo del for hay una operacin de bsqueda en array y una comparacin que ocurre siempre.
Pero el cuerpo del if podra correr o no correr, dependiendo de cules son los valores del array. Si ocurriese que A[ i ] >= M, entonces se ejecutan dos instrucciones adicionales: una bsqueda en array y una asignacin: M = A[ i ]
Instrucciones de Conteo
{
if ( A[ i ] >= M ) M = A[ i ];
Instrucciones de Conteo
{
if ( A[ i ] >= M ) M = A[ i ];
Instrucciones de Conteo
{
if ( A[ i ] >= M ) M = A[ i ];
Ejercicio 1
{
if(arreglo[j] > arreglo[j+1]) {
auxiliar = arreglo[j];
arreglo[j] = arreglo[j+1]; arreglo[j+1] = auxiliar; } } }