Estructuras De Datos
Enviado por Antonella870 • 25 de Agosto de 2014 • 2.280 Palabras (10 Páginas) • 244 Visitas
Algoritmos y Estructuras de Datos Unidad I Introducción a los Algoritmos y Estructuras de Datos
Ing. Alma Leticia Palacios Guerrero pág. 1 de 8
UNIDAD 1 Introducción a los Algoritmos y Estructuras de Datos
1.1 Definición de Algoritmo
Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver
un problema. La palabra algoritmo se deriva de la traducción al latín del nombre Muhammad Musa Alkhawarizmi,
un matemático y astrónomo árabe que en el siglo IX escribió un tratado sobre manipulación
de números y ecuaciones.
1.1.1 Características de los Algoritmos
• Son independientes del lenguaje de programacióna utilizar.
• Sencillo, los pasos deben ser claros y bien definidos.
• Precisos, indican claramente el orden de realización paso a paso.
• Definidos, cada vez que se ejecutan con las mismas entradas se obtiene el mismo resultado.
• Finitos, tienen un número de pasos finito.
1.2 Modelo de Cascada para el desarrollo de Sistemas
La resolución de un problema con una computadora conduce a la escritura de un programa y a su
ejecución en la misma. Aunque el proceso de diseñar programas es un proceso creativo, los pasos a
seguir se establecen en varios modelos para el desarrollo de sistemas uno de ellos es el modelo de
cascada. Este se define como el proceso que se sigue para diseñar, construir, entregar y hacer
evolucionar el software, desde la concepción de una idea hasta la entrega y el retiro del sistema1.
Paso 1: Análisis del problema. Esta fase requiere una
clara definición, donde se contemple exactamente lo que
debe hacer el programa y el resultado o solución
deseada.. Para poder definir bien un problema es
conveniente responder a las preguntas: ¿Qué cantidad y
tipo de datos de entrada se requieren?, ¿Qué cantidad y
tipo de salidas se desean? ¿Qué método(s) produce(n) la
salida deseada?
Paso 2. Diseño del Algoritmo. En esta etapa se define
cómo hace el programa la tarea solicitada, es decir, se
define el algoritmo.
Paso 3. Codificación. Se traduce el algoritmo en un
lenguaje de programación apropiado.
Paso 4. Compilación y Ejecución. El proceso de
compilación consiste en pasar el programa de código
fuente a un código ejecutable. La ejecución es “correr” el
programa generado en el proceso de compilación.
Paso 5. Depuración. Se ejecuta el programa con datos
de prueba para detectar y corregir errores en tiempo de
ejecución.
Paso 6. Documentación. Interna: Comentarios dentro del
programa. Externa: Manuales del programador, del
usuario, de instalación, etc.
Paso 7. Entrega y Mantenimiento
1 http://www.biblioteca.co.cr/pdf/unidad12-4.pdf
Codificación
Análisis del Problema
Diseño del algoritmo
Documentación
Depuración
Compilación y Ejecución
Entrega y Mantenimiento
Algoritmos y Estructuras de Datos Unidad I Introducción a los Algoritmos y Estructuras de Datos
Ing. Alma Leticia Palacios Guerrero pág. 2 de 8
1.3 Estrategias para la solución de problemas
Cuando se trata de resolver un problema, pueden presentarse varias estrategias para solucionarlo2. Las
técnicas o estrategias más comunes son:
Estrategias de solución directa
• Algoritmos de Solución Forzada: Un algoritmo de este tipo resuelve el problema de la forma
mas simple, obvia o directa. Como resultado es posible que el algoritmo haga mas trabajo
que una solucióm más sofisticada. Por otra parte, las soluciones forzadas son más fáciles de
implementar y por eso algunas veces resultan más eficientes.
• Algoritmos Codiciosos: Se caracterizan las decisiones que toman se basan en que la
busqueda del menor costo en esa parte del problema, pero no toman en cuenta el resto de la
solución y en ocasiones no generan soluciones óptimas.
Estrategias de Vuelta Atrás
• Un algoritmo de vuelta atrás, sistemáticamente considera todos los posibles resultados para
cada decisión. En este sentido, los algoritmos vuelta atrás son como las soluciones forzadas.
Sin embargo, los algoritmos vuelta atrás se distinguen por la forma en que exploran todas las
posibles soluciones; en ocasiones estos algoritmos encuentrar que una búsqueda exhaustiva
es innecesaria y por lo tanto pueden tener una mejor ejecución.
Estrategias arriba-abajo
• Algoritmos divide y vencerás. Para resolver
...