Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos:
Cualitativo:
Algoritmo para hacer mi agenda diaria.
INICIO
Levantarme a las 6:00 am y bañarme
Dirigirme al trabajo a las 6:50
Entrar al trabajo a las 7:00 pm
Salir del trabajo a las 3:00 pm
Adelantar tareas de 3:30 a 4:00 pm
Tomar el baño
Ir a la escuela de 5:30 a 10:15
Cenar a las 10:40
Dormir a las 3:00 am
FIN
Cuantitativo:
Algoritmo para obtener el área de un triángulo.
INICIO
Declarar (b,h,a)
Ingresar (b,h)
a=(b*h)/2
Mostrar (a)
FIN
Recursividad:
Solución recursiva
#include<bits/stdc++.h>
using namespace std;
int fib(int n) {
if (n <= 1)
return n;
return fib(n-1) + fib(n-2);
}
Solución iterativa
funcion divide_y_venceras_1(problema)
{
descomponer el problema en n subproblemas más pequeños;
para i=1 hasta n hacer
resolver el subproblema k;
combinar las n soluciones;
}
Problemas grandes
funcion divide_y_venceras(problema)
{
si el problema es trivial
entonces resolver el problema;
si no es trivial
{
descomponer el problema en n subproblemas más pequeños;
para i=1 hasta n hacer
divide_y_venceras(subproblema_k);
combinar las n soluciones;
}
}
Mover n-1discos de A a B
Mover 1 disco de A a C
Mover n-1discos de B a C
x = x1*B^m + x0
y = y1*B^m + y0
donde
z2 = x1*y1
z1 = x1*y1 + x0*y1
z0 = x0*y0
Por
z1 = (x1 + x0)*(y1 + y0) – x1*y1 –x0*y0
Programación dinámica
EL PROBLEMA DE LA DILIGENCIA
Un caza fortunas de Missouri decide irse al oeste a unirse a la fiebre del oro en
California. Tiene que hacer el viaje en diligencia através de territorios sin ley donde
existían serios peligros de ser atacados por merodeadores. Aún cuando su punto
de partida y destino eran fijos ,tenia muchas opciones en cuanto a que estados
debía elegir como puntos intermedios. Se desea estimar la ruta mas segura, como
el costo de la póliza para cualquier jornada de la diligencia esta basada en una
evaluación de seguridad del recorrido, la ruta mas segura debe ser aquella que
tenga el costo total mas barato.
PROCEDURE
AlgoritmoAvido(entrada:CONJUNTO):CONJUNTO;
VAR x:ELEMENTO; solucion:CONJUNTO; encontrada:BOOLEAN;
BEGIN encontrada:=FALSE;
crear(solucion);
WHILE NOT EsVacio(entrada) AND (NOT encontrada) DO
x:=SeleccionarCandidato(entrada);
IF EsPrometedor(x,solucion) THEN
Incluir(x,solucion);
IF EsSolucion(solucion) THEN
encontrada:=TRUE END;
END
END;
RETURN solucion;
END AlgoritmoAvido;
a) Suponiendo que cada moneda del sistema monetario del país vale al menos el
doble que la moneda de valor inferior, que existe una moneda de valor unitario, y
que disponemos de un número ilimitado de monedas de cada valor.
El método de retroceso