-
Definicion de Algoritmos
- Es un procedimiento para resolver problemas.
- El proceso se muestra con instrucciones paso a paso.
- Es complejo y difícil de entender.
- Es conveniente para depurar errores.
- La solución es mostrada en lenguaje natural.
- Es más fácil resolver problemas complejos.
- Cuesta más tiempo crear un algoritmo.
-
Definicion de Diagrama de Flujo
- Es la representación gráfica de un proceso.
- El proceso se muestra en un diagrama de información bloque a bloque.
- Es intuitivo y fácil de entender.
- Es difícil depurar errores.
- La solución es presentada en formato pictórico.
- Es difícil para resolver problemas complejos.
- Cuesta menos tiempo crear un diagrama de flujo.
-
Tipos de Algoritmos
-
Algoritmo Recursivo
- Se refiere a la forma de resolver problemas dividiéndolos repetidamente en problemas más pequeños. El ejemplo clásico de usar un algoritmo recursivo para resolver problemas es la Torre de Hanói.
-
Algoritmo Divide y Vencerás
-
Tradicionalmente, El algoritmo divide y vencerás consiste en dos partes: 1. dividiendo un problema en sub problemas independientes más pequeños del mismo tipo; 2. encontrar la solución final del problema original después de resolver estos pequeños problemas por separado.
-
Las claves del algoritmo para dividir y conquistar son
- Si puedes encontrar el sub problema repetido y el bucle de la estructura del problema original, podrías fácilmente cambiar el problema original en problemas más pequeños y simples.
- Intenta dividir toda la solución en varios pasos (diferentes pasos requieren diferentes soluciones) para hacer el proceso más fácil.
- ¿Los sub problemas son fáciles de resolver? De no ser así, el problema original podría costar mucho tiempo.
-
Algoritmo de Programación Dinámica
- En este tipo de algoritmo, los resultados anteriores son recolectados para su uso en el futuro. Similar al algoritmo de divide y vencerás, un algoritmo de programación dinámica simplifica un problema complejo al dividirlo en problemas más simple. Sin embargo, la mayor diferencia entre ellos es que éste último requiere la superposición de sub problemas, mientras que en el otro no es necesario.
-
Algoritmo Voraz
- Este es otra forma de resolver problemas de optimización del algoritmo voraz. Se refiere a encontrar siempre la mejor solución en cada paso, en lugar de considerar la optimización general. Es decir, lo que hace es optimizar solo localmente. Debido a las limitaciones del algoritmo voraz, se tiene que tomar en cuenta que la clave para seleccionar el algoritmo voraz es considerar cualquier consecuencia en el futuro.
-
Algoritmo de Fuerza Bruta
- es una solución sencilla al problema, normalmente basado en la descripción del problema y en la definición del concepto involucrado. Puedes usar la expresión "solo hazlo" para describir la estrategia de la fuerza bruta. En pocas palabras, el algoritmo de fuerza bruta es considerado como uno de los algoritmos más simples, el cual itera todas las posibilidades y termina con una solución satisfactoria.
-
Algoritmo Vuelta Atrás
- Basado primero en la profundidad de una búsqueda recursiva, el algoritmo de vuelta atrás se enfoca en encontrar la solución al problema durante el proceso de búsqueda de enumeración. Cuando no puede satisfacer la condición, "Vuelve atrás" e intenta otro camino. Es apropiado para resolver problemas largos y complicados, el cual gana reputación de "método de solución general". Uno de los ejemplos de algoritmo de vuelta atrás más famoso, es el del rompecabezas de las ocho reinas.
-
Diagrama de flujo y algortmo
-
inicio
-
hierve agua
-
agrega 3/4 de taza de agua hirviendo en una taza
- agrega una cucharada de cafe y una de azucar
- disuelve y agrega 1/4 de taza faltante de leche
- disuelve y bebe
- fin
- preparacion de cafe con leche: espera a que hierva el agua , agrega 3/4 de taza de agua hirbiendo, agrega una cucharada de cafe, agraga una cucharada de azucar, bate hasta disoverlo agrega 1/4 de taza de leche ,disuelbe y bebe