Xavier Carrera
Este algoritmo lo aplicamos en el curso básico de programación de Freddy.
Alguien se acuerda del cajero automático?
Bernardo Aguayo Ortega
ohhh, vaya ahora todo toma sentido
Fernando Jesús Núñez Valdez
Exacto, hahah!
Los Greedy Algorithms son algoritmos que van a buscar la solución más óptima para resolver un problema en cada una de sus etapas; vamos a tener varios subprocesos antes de llegar al resultado final.
Este tipo de algoritmos son muy “codiciosos” porque van a encontrar la mejor solución de cada paso pero, en conjunto, puede que no sean la mejor solución al problema completo.
Estos son algunos ejemplos de problemas que se resolverían con Greedy Algorithms:
Xavier Carrera
Este algoritmo lo aplicamos en el curso básico de programación de Freddy.
Alguien se acuerda del cajero automático?
Bernardo Aguayo Ortega
ohhh, vaya ahora todo toma sentido
Fernando Jesús Núñez Valdez
Exacto, hahah!
Depende, Cristian. Por ejemplo, en caso de un cajero automático lo que sucede es que se convierte en una experiencia mas grata para el usuario entendiendo que lo que el usuario normalmente prefiere es tener dinero en la menor cantidad de billetes posibles.
Pero, es probable que este algoritmo no sea tan bueno para otro tipo de problemas porque no necesariamente daría la solución más optima y eso haría que en otros problemas se le diera una experiencia no tan grata al usuario.
Oswaldo Javier Yugsi Yugsi
Un clase que deja mucho que desear. Es la primera vez que veo algortimos Greedy. En esta clase se utilizan muchas librerias propias de C++, y no se explica qué hacen, o qué no hacen. También echo en falta una explicación estructurada del camino lógico que está tomando el código al ejecutarse. Se dice que se explicará en la siguiente clase, pero no se explica nada.
¿Qué es INT_MAX? ¿Por qué usa INT_MAX? ¿Por qué se está utilizando el valor de 'i' para la recursividad?
No sé si soy yo, pero conforme voy viendo los cursos veo que Platzi no cuenta con un departamento de Calidad que verifique estos cursos.
Carlos Arturo Castelblanco Castellanos
Pues no sabría que opinar, porque yo aprendí a programar algo básico hace como 18 años, y ahora en el curso de programación estructurada aprendí conceptos que no sabia como apuntadores y recursividad, en este vemos esos mismo conceptos más sort y esas cosas pero no sabría si por esto se comienza por lo tanto es muy avanzado lo que comentas y tendría que venir en otro curso o si por el contrario la programación ya es de conocimiento cotidiano por la tanto tienes toda la razón. Por otro lado no se si halla un curso de solo c, donde expliquen todo.
Cristhian Franco
Yo si lo he entendido en su mayoria, pero tambien ya tenia una base de conocimiento antes de tomar el curso, creo que si pueden hacer uno profundisando mas en los conception seria genial.
Brayan Ccari
Brian Quiroz López
Buena explicación compañero, Gracias.
Wandy Rafael Santana Evangelista
Según estuve investigando también, el Greedy Algorithm puede ser lo mas eficiente que sea, pero esa búsqueda insaciable de la eficiencia en cada único paso, provoca que resulte para algunos casos no tan eficiente, porque la solución requiere una evaluación mas general y no tan especifica (paso a paso) para encontrar una solución eficiente y óptima. Pero como mencionaba Ricardo, son perfectos para algunos casos en concretos cómo los videojuegos y la inteligencia artificial. Yo opino que cada algoritmo tiene su aplicación, y es nuestro deber sentarnos analizar y elegir cuál sería la opción mas eficiente que requiera nuestra solución.
Ivan E. Batista-Ochoa
Así es, Wandy. Cada algoritmo tiene su aplicación o aplicaciones y algunos son mejores para cierto tipo de problemas. En ese sentido, es nuestra tarea analizar y elegir el algoritmo que mejor soluciona el problema o los problemas.
Hay algoritmos que son más eficientes cuando tienes pocos datos, pero cuando tienes muchos datos ya no son tan eficientes, mientras que otros que son más eficientes cuando tienes muchos datos, pero cuando tienes pocos datos no son tan eficientes.
Juan Guillen Fortich
Este ejemplo me recordó al proyecto del curso de programación básica donde hicimos el código para el cajero automático.
Oscar Eduardo Palomino Cárdenas
Es el mismo proyecto. Con Freddy lo hicimos con Javascript.
Efraín Hernández García
Siento que Freddy lo explico mejor xD!
Daniela Funes
En un viaje en auto que hice por el estado de Florida en USA (de Miami a Orlando) hace un tiempo ya, el gps me indicó una ruta por una carretera estatal, (yo esperaba otra ruta por una autopista grande) conocí muchos pueblitos e igual llegué perfectamente a mi destino casi en el mismo tiempo que estimaba con la otra ruta. ¿la diferencia? que en la ruta que fui no pagué ni un solo peaje, en cambio la otra ruta, la de la autopista grande, está llena de peajes. ¿Ahora entiendo que probablemente sería por un greedy algorithm?
Aaron Joel Limachi Quispe
Un algoritmo Greedy es óptimo para obtener la solúción paso por paso pero en problemas más complejos no siempre es la solúción más óptima.
Bernardo Aguayo Ortega
concuerdo
Enrique Montes Trejo
Comparto la idea.
Walter Alvarado
numero x cualquiera para dividirlo en monedas de 20, 10, 5, 1 (siendo n20=numero de monedas de 20) n20= int (x/20) y esto tiene un residuo que seria r = x%20 ; y luego haríamos lo mismo con las otras moneas hasta llegar a un residuo cero n10=int(r/20) r=r%20; n5=int(r/5) r=r%5 n1=int(r/1) osea prácticamente r y r =0 y seria el fin del algoritmo
Xavier Alberto Garcia Navarro
Como hacen los cajeros para elegir los billetes que te entregan en la realidad? Investigue pero no encontre nada
Roger Carlos Ariel Alba
Hola!
Aquí puedes ver dos clases en las que se diseña un cajero, te puede ser muy útil.
Sergio Francisco Arteaga Rodríguez
Hola, ElXavs en el curso de Programación Básica enseñan a hacer un cajero. :D
Eduardo Monzón
Diego Reyes Cabrera
Hola Eduardo. ¿Dónde conseguiste esa foto? Quisiera entender bien su explicación 🤔
Nicolas Alpargatero
Tampoco lo entendi xD
Cristian Felipe Diaz
excelente contenido profe
Pablo Aquino
Efraín Hernández García
Estaria cool ver como se aplica a un videojuego
Adriana del Pilar Martinez Bautista
Excelente explicación.
Mayra Alejandra Barrera
Ahora entiendo porque los cajeros automaticos cuando uno retira el dinero funcionan con billetes grandes...
Jorge Ossa
la devuelta
Karen Paola Diaz Duarte
LOS GREEDY ALGORITHM Son algoritmos que buscan la solución mas optima y efectiva para un programa que contenga problemas y que estos problemas puedan ser solucionado con GREEDY ALGORITHM. Se puede aplicar en problemas como cajeros que dan vueltas o una aplicación de mapa que nos da la ruta mas corta para ahorrar combustible y tiempo.
Bernardo Aguayo Ortega
Venga muy buena explicación Karen. Gracias
Gabriel Obregón
📌ALGORITMOS GREEDY (CODICIOSOS)
🔹 ¿Qué son?
➡️ Algoritmos que buscan la mejor solución en cada paso del problema.
➡️ El proceso se divide en etapas, y en cada una se toma la opción más óptima del momento.
🔹 Característica principal
⚡ “Codiciosos” → siempre eligen lo mejor ahora.
✅ Ventaja: rápidos y fáciles de aplicar.
❌ Desventaja: no siempre dan la mejor solución global.
🔹 Ejemplos de uso
💰 Máquinas de cambio → dividen el dinero de manera eficiente.
🎮 Juegos con IA → calculan el mejor movimiento en cada turno.
🗺️ Mapas y GPS → encuentran la ruta más corta o con menor consumo.
🔹 Idea clave para recordar
👉 Los algoritmos Greedy piensan en el presente inmediato, no en el futuro completo.
Nicolas Alpargatero
Esto debería estar en las máquinas registradoras 🤣. Y no que le llenen de monedas. O en el banco no falta los que dan montones de billetes para cuantías pequeñas.