Académique Documents
Professionnel Documents
Culture Documents
y ALGORITMOS
Licenciatura en Ciencias de la Computacin
TCNICAS DE DISEO DE
ALGORITMOS
Estructuras de datos y
Algoritmos
Tcnicas de diseo de
algoritmos
Algoritmos vidos o Voraces-
Greedy
Programacin Dinmica
Vuelta Atrs - Backtracking
Ramificacin y Poda - Branch and
Bound
Estructuras de datos y
Algoritmos
Algoritmos vidos
Algoritmos vidos
Esquema General
AlgoritmoAvido(entrada:CONJUNTO):CONJUNTO
encontrada:=FALSE
crear(solucion)
Mientras NO EsVacio(entrada) y (NO encontrada) hacer
x:=SeleccionarCandidato(entrada);
Si EsPrometedor(x,solucion)
entonces
Incluir(x,solucion);
Si EsSolucion(solucion)
entonces
encontrada:=TRUE
Finsi
Finsi
Finmientras
Retornar solucion
Fin AlgoritmoAvido
Estructuras de datos y
Algoritmos
Algoritmos vidos
Aplicaciones
Algoritmos vidos
Algoritmo de Dijkstra
Dijkstra(T: Tabla);
entonces
Reducir ( T[w].distancia a T[v].distancia +
w(v,w))
T[w].camino v
FinSi
FinSi
FinPara
Estructuras de datos y
Algoritmos
Programacin Dinmica
Divide y Vencers: Resuelve problemas a
partir de su divisin en problemas
independientes, que se resuelven de
manera recursiva
Programacin Dinmica
Estructuras de datos y
Algoritmos
Programacin Dinmica
Programacin Dinmica
Aplicaciones
Coloreado de mapas:
Dado un mapa, pueden
colorearse sus regiones o pases de
forma tal que no haya regiones o
pases adyacentes de igual color?
Estructuras de datos y
Algoritmos
Reconocimiento de grafos:
Dadas dos matrices de adyacencia,
el problema consiste en
determinar si ambas representan
al mismo grafo, salvo nombres de
los vrtices.
Estructuras de datos y
Algoritmos
Ramificacin y Poda-
Branch and Bound
Ramificacin y Poda-
Aplicacin (1)
El Viajante de Comercio:
A partir de conocer las distancias
entre cierto nmero de ciudades, un
viajante debe partir de una de ellas,
visitar cada ciudad exactamente
una vez, y regresar al punto de
partida, habiendo recorrido en total
la menor distancia posible.
Estructuras de datos y
Algoritmos
Ramificacin y Poda-
Aplicacin (2)
El Laberinto:
Dado un laberinto, representado
por medio de una matriz, el
problema consiste en disear un
algoritmo que encuentre un
camino, si existe, para ir de la
entrada a la salida.
Estructuras de datos y
Algoritmos
Ramificacin y Poda-
Aplicacin (3)