Algoritmos
Enviado por Mkclauss2001 • 17 de Julio de 2013 • 379 Palabras (2 Páginas) • 288 Visitas
Diseño De Algoritmos Aplicados A Problemas
DISEÑO DE ALGORITMOS APLICADOS A PROBLEMAS.
Diseño:
Para llegar a la realización de un programa es necesario el diseño previo de algoritmo, de modo que sin algoritmo no puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora que lo ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta.
Dada la importancia del algoritmo en la computación, un aspecto muy importante será el diseño de algoritmos. El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos profundos de la técnica de la programación.
Técnicas de diseños de algoritmos:
Algoritmos voraces (greedy): seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una solución. En la mayoría de los casos la solución no es óptima.
* Algoritmos paralelos: permiten la división de un problema en subproblemas de forma que se puedan ejecutar de forma simultánea en varios procesadores.
* Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están en función de valores aleatorios.
* Algoritmos determinísticos: el comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso sucesor y otro antecesor.
* Algoritmos no determinísticos: el comportamiento del algoritmo tiene forma de árbol y a cada paso del algoritmo puede bifurcarse a cualquier número de pasos inmediatamente posteriores, además todas las ramas se ejecutan simultáneamente.
* Divide y vencerás: dividen el problema en subconjuntos disjuntos obteniendo una solución de cada uno de ellos para después unirlas, logrando así la solución al problema completo.
* Meta heurísticas: encuentran soluciones aproximadas (no óptimas) a problemas basándose en un conocimiento anterior (a veces llamado experiencia) de los mismos.
* Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial.
* Ramificación y acotación: se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones.
* Vuelta atrás (backtracking): se construye el espacio de soluciones del problema en un árbol que se examina completamente, almacenando las soluciones menos costosas.
CONCLUSION:
El diseño de un algoritmo debe describir la secuencia ordenada de pasos para interpretarlo de una sola manera y así este nos conduzca a la solución de un problema.
REFERENCIAS:
www.wikipedia.com
John S. Dean (2008) Introducción ala programación con JAVA
...