Está en la página 1de 26

UNIDAD I - LA COMPLEJIDAD ALGORÍTMICA

Y PRINCIPALES ESTRATEGIAS DE PROGRAMACIÓN.


SEMANA N° 2

Algoritmos Voraces

Mg. DANY MONTOYA NEGRILLO


Interés

¿Qué entendemos
por Algoritmos
Voraces ?

¿Qué tipo de
aplicaciones ejecuta
dicho algoritmo?

https://bit.ly/2U8J9Me
AGENDA
1. Definición.
2. Forma General.
3. Ejemplos: Cambio de moneda,
factores primos, ruta entre dos nodos,
de recubrimiento mínimo.
LOGRO DE LA SESIÓN

Al término de la sesión, el estudiante conoce los conceptos de


los algoritmos Voraces, Cambio de moneda, factores primos,
ruta entre dos nodos, árbol de recubrimiento mínimo,
Problema de la mochila, mostrando dominio técnico, claridad,
desenvolvimiento y manejo de los conceptos.
Descubrimiento

• Los estudiantes seran capaz de analizar, comprender y resolver


una amplia variedad de problemas utilizando las estratégias de
programación mediante algoritmos Voraces, diseñando e
implementando soluciones eficientes y de calidad, como
resultado de la aplicación de un proceso metódico.

tomar
ALGORITMOS VORACES
Link: https://www.youtube.com/watch?v=DPJTJjH0ZEM
DEFINICIÓN

 También conocido como algoritmos glotones.

 Son algoritmos bastante simples.

 Se emplean para resolver problemas de optimización.

 Sigue una estrategia sencilla pero eficaz.

 Simplemente, se trata de elegir la opción óptima en cada paso, con la

esperanza de llegar a una solución general óptima.

 En cada paso, un elemento se evalúa y se incluye o no a la solución y

nunca más se reconsidera la decisión.


DEFINICIÓN

El nombre “voraz” se debe a que, en cada paso, el algoritmo escoge el


mejor "pedazo" que es capaz de "comer" sin preocuparse de los pasos
que restan hasta encontrar la solución.
FORMA GENERAL
ALGORITMOS VORACES
ALGORITMOS VORACES
ALGORITMOS VORACES
ALGORITMOS VORACES
EJEMPLOS
EJEMPLOS
CAMBIO DE MONEDAS

Un sistema monetario está formado por monedas de valores Vi, se pide

descomponer un monto utilizando la menor cantidad posible de monedas.


CAMBIO DE MONEDAS
• Este algoritmo de voraz sirve para calcular el número de monedas a retornar
de una determinada suma y la cantidad de cada tipo de moneda.

• Para ello pasaremos como parámetro la cantidad a retornar y un vector con el


valor de los diferentes tipos de monedas.

• Finalmente el algoritmo retorna un vector con la cantidad de cada tipo de


monedas a devolver.
FACTORES PRIMOS

¿ Como puedo crear un programa que descomponga un número como


producto de sus factores primos ?

Ejemplo:
• 65535 = 3 X 5 X 17 X 257
FACTORES PRIMOS
• El algoritmo se ejecuta siempre y cuando el factor que se utiliza para dividir sea
menor o igual al cuadrado del número ingresado.

• Si el número ingresado dividido entre el factor de división tiene residuo,


entonces se procede a obtener el valor del nuevo número dividido entre el
factor de división.

• Si el factor de división es igual a 2, entonces se acumula de 1 en 1 Sino, el


factor de división se acumula de 2 en 2.
ARBOL DE RECUBRIMIENTO MÍNIMO
RUTA ENTRE DOS NODOS

ALGORITMO DIJKSTRA.

• En un algoritmo para la determinación del camino más corto dado un


vértice origen al resto de los vértices en un grafo con pesos en cada arista.
ARBOL DE RECUBRIMIENTO MÍNIMO
Experiencia
ESTRUCTURAPPT

Actividades de aplicación
colaborativa

Guía de Laboratorio 02
PPTevidenciado
Aprendizaje
ESTRUCTURA

TRABAJO APLICATIVO

Ejercicios Propuestos 02
ESTRUCTURA PPT
Instrumento
de evaluación

Rubricas de Evaluación Tarea 02


Referencias

 Técnicas de Diseño de Algoritmos Servicio de Publicaciones de la


Universidad de Málaga. http://www.lcc.uma.es/~av/Libro/indice.html

Autor : Rosa Guerequeta y Antonio Vallecillo

 http://artemisa.unicauca.edu.co/~cardila/ED2__Tema_1.pdf

 https://www.cimat.mx/~alram/analisis_algo/clase05.pdf

 https://users.dcc.uchile.cl/~nbaloian/cc3001-02/Auxiliares/auxiliar2.pdf
Muchas
Gracias!!!

También podría gustarte