En tiempos en que la tecnología de los computadores es cada vez más pequeña puede pensarse que el tema de eficiencia algorítmica no fuera importante; pero este es un tema que tiene vigencia ya que un algoritmo eficiente evitara menos esfuerzo computacional a la maquina; esto quiere decir menos ciclos o menos lecturas de disco duro.
La complejidad algorítmica se mide por medio de una función f(n) que da el tiempo, espacio de almacenamiento necesario para la ejecución del mismo. La n representa el tamaño de los datos de entrada.
Cuando se mide la complejidad se puede evaluar el caso óptimo, el caso medio o el caso peor. Ejemplo:
Suponiendo se tienen los números ordenados del uno al 100
1,2,3,4,5,6,7,8,9,10.....................................................1000
Si se tiene un algoritmo de búsqueda secuencial, es decir., que debe recorrer uno a uno los números para encontrar el buscado, el caso favorable u optimo seria que el números buscado fuera el 1, el caso medio, que el numero buscado fuera el 50 y el caso peor que el buscado fuera el 100, que es el ultimo numero de la lista.
Esto se puede representar de la siguiente manera:
Caso favorable c(1)=1, ítem buscado el primero de la lista
Caso Peor c(n)=n, Ultimo numero de la lista buscado
Caso Medio c(n) = (1+2+3+4+5+......n).1/n = (n+1)/2.
Otros pueden decir que las bases de datos hacen todo el trabajo, los algoritmos que se apoyan en estructuras de datos avanzadas como arboles hacen gran parte del trabajo, pero desde la aplicación se puede ayudar un poco al trabajo que realiza el motor de la base de datos.
Entonces cuando se diseña un algoritmo se debe pensar en tratar de traer los datos necesarios en el menor número de lecturas al disco, disminución del número de ciclos, ahorro de memoria. Aunque en la vida real es más complicado manejar esto, pero se pretende, al menos, pensar en la complejidad algorítmica antes de comenzar a codificar.
Hay 2 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Outlook Express En la actualidad uno de los servicios más utilizados por los usuarios de Internet, es el envio de correo electrónico. Outlook Express, es un gestor de correo, co... [22/03/04] |
|
14.716 | ||
|
Visual Basic 6.0. Guía básica Visual Basic es un lenguaje de programación desarrollado para Microsoft. Con Visual Basic podrás ap... [19/11/09] |
|
0 | ||
|
Creación de hoja de calificaciones con Excel 2007 Excel pertenece al paquete de ofimática Office de Microsoft, este programa es uno de los más utilizado tanto por empresas, instituciones y público en general. Este curso ... [24/10/07] |
|
6.861 | ||
Publicar en
del.icio.us
digg
meneame