Академический Документы
Профессиональный Документы
Культура Документы
Definicin de Algoritmo
Un algoritmo implica la descripcin precisa de los pasos a seguir para alcanzar la
solucin de un problema dado.
Por pasos se entiende el conjunto de acciones u operaciones que se efectan sobre
ciertos objetos.
Algoritmo: Entrada Proceso Salida
CARACTERSTICAS DE UN ALGORITMO
Un algoritmo debe poseer las siguientes caractersticas:
Precisin: Un algoritmo debe expresarse sin ambigedad.
Determinismo: Todo algoritmo debe responder del mismo modo antes las mismas
condiciones.
Finito: La descripcin de un algoritmo debe ser finita.
CUALIDADES DE UN ALGORITMO
Un algoritmo debe ser adems:
General: Es deseable que un algoritmo sea capaz de resolver una clase de problemas
lo ms amplia posible.
Eficiente: Un algoritmo es eficiente cuantos menos recursos en tiempo, espacio (de
memoria) y procesadores consume.
Por lo general es difcil encontrar un algoritmo que rena ambas por lo que se debe
alcanzar un compromiso que satisfaga lo mejor posible los requisitos del problema.
COMPLEJIDAD ALGORITMICA.
La complejidad algortmica representa la cantidad de recursos (temporales) que
necesita un algoritmo para resolver un problema y por tanto permite determinar la
eficiencia de dicho algoritmo.
Los criterios que se van a emplear para evaluar la complejidad algortmica no
proporcionan medidas absolutas sino medidas relativas al tamao del problema.
Para resolver cualquier problema, son necesarios unos datos de entrada sobre los que
trabaja el algoritmo y que describen una ocurrencia concreta del problema que
queremos resolver. El algoritmo, finalmente obtiene una o varias soluciones al
problema (si es que el problema tiene soluciones).
Sin embargo, debemos tener en cuenta algunas consideraciones. Por ejemplo, piensa
en un tpico algoritmo para ordenar los elementos de un vector. Seguro que conoces
alguno. El algoritmo consta de una serie de instrucciones que se repiten una y otra vez
(bucles), y probablemente, de una serie de selecciones (comparaciones) que hacen
que se ejecute uno u otro camino dentro del algoritmo.
Nos podemos permitir esa simplificacin porque lo que realmente queremos saber
es cmo crece el nmero de instrucciones necesarias para resolver el problema con
respecto a la talla del problema. Eso es realmente la complejidad.
EL TIEMPO EMPLEADO POR EL ALGORITMO SE MIDE EN PASOS
La medida del tiempo tiene que ser independiente:
De la mquina
Del lenguaje de programacin
Del compilador
De cualquier otro elemento hardware o software que influya en el anlisis.
Para conseguir esta independencia una posible medida abstracta puede consistir en
determinar cuantos pasos se efectan al ejecutarse el algoritmo.
COMPLEJIDAD ALGORITMICA.
Conceptos bsicos a
* El tiempo empleado por el algoritmo se mide en pasos.
* El coste depende del tamao de los datos.
A la hora de evaluar el coste se debe de tener en consideracin tres posibles casos:
El coste esperado o promedio
El coste mejor
El coste peor
Si el tamao de los datos es grande lo que importa es el comportamiento asinttico de
la eficiencia.
Conclusiones.
Un algoritmo que resuelve un problema con una determinada talla, tarda un
tiempo mayor en obtener la solucin. La complejidad es una medida que nos da
una idea de cmo es ese crecimiento, resultando que para la mayor parte de
algoritmos, ese crecimiento se puede enmarcar en un determinado "orden", ya
que todas las funciones que estn en un orden crecen de manera similar cuando
los valores de la talla se van haciendo grandes.