Programación Dinámica | Memoización | Explicado Paso a Paso

Sdílet
Vložit
  • čas přidán 5. 08. 2024
  • La programación Dinámica es un método para optimizar algoritmos utilizando recursividad, divide y vencerás y subproblemas superpuestos para incrementar la velocidad de ejecución de diferentes algoritmos.
    Puede usarse con Memoización, la cuál apluca a algoritmos recursivos, o con Tabulación para algoritmos iterativos.
    En este video pondremos varios ejemplos de soluciones como la secuencia Fibonacci y la optimización de ventas de varillas. Utilizando Python como lenguaje de ejemplo, aunque se puede aplicar a cualquier lenguaje de programación, Java, C#, C++, .NET, etc.
    Contenido:
    0:00 Intro
    1:19 Qué es Programación Dinámica
    3:19 Ejemplo de problema de optimización
    4:36 Pasos de Programación Dinámica
    5:36 Pasos en el ejemplo
    8:10 Ejemplo: 1. Describir Estructura
    10:06 Ejemplo: 2. Definir Valor Óptimo
    11:52 Ejemplo: 3. Calcular Valor Optimo con DP
    12:42 Memoización
    14:28 Tabulación
    16:32 Comparación de Velocidad
    17:00 Ejemplo: 4. Calcular Solución Óptima
    Referencias:
    - Visualización: visualgo.net/en/recursion?sli...
    - Explicación (Inglés): www.geeksforgeeks.org/overlap...
    - Ejercicios: www.hackerrank.com/domains/al...
    Libros recomendados:
    kit.co/schiob
    Apóyame con una pizza:
    www.buymeacoffee.com/schiob
    Para contenido atrás de cámara y fotos de comida sígueme en:
    / schiob
    / schiob
    github.com/schiob

Komentáře • 48

  • @AleTecnstuff
    @AleTecnstuff Před 18 dny

    Muchísimas gracias, me ha ayudado mucho tu vídeo a repasar conceptos que tenía ya muy olvidados... Y muy bien explicado!!!

  • @akookie
    @akookie Před 9 měsíci +6

    acabo de descubrir tu canal y me resultan muy útiles tus explicaciones tan claras. estoy cursando 2 año en la universidad la asignatura de estructuras de datos y algoritmos y con tus vídeos ahora lo entiendo y hasta se me hace divertido. gracias❤

  • @lautaroballesteros3763
    @lautaroballesteros3763 Před 3 měsíci +2

    Excelente video, me quedé con ganas de más, sobre lo que comentaste en la ultima parte. Muchas gracias chio !

  • @betterdeveloper9073
    @betterdeveloper9073 Před rokem +12

    Buenas, antes de nada decirte que tus vídeos son fantásticos, explicas mejor que muchos profesores que tuve en la carrera. ¡Ojalá tus vídeos tengan más visitas en el futuro! Se lo merecen, son de gran calidad :)

    • @ChioCode
      @ChioCode  Před rokem +2

      Muchas gracias por el apoyo, poco a poco y con su ayuda vamos creciendo la comunidad acá :)

  • @saulett
    @saulett Před 4 měsíci

    hola, estoy en segundo de carrera de ingeniería informática y esto me ha ayudado un montón para una práctica de análisis y diseño de algoritmos, un saludo!!

  • @bcpaul74
    @bcpaul74 Před rokem +1

    Felicitaciones, excelente contenido. La primera vez que me enseñaron programación dinámica fue en 1995, veo que ha seguido evolucionando. Gracias por animarme a estudiarlo nuevamente.

  • @user-ux8eg3sx1b
    @user-ux8eg3sx1b Před 7 měsíci

    nuevo sub, explicaste muy bien este tema, yo llevo una materia que se llama Analisis y Diseño de Algoritmos y creo que es muy importante para la carrera de sistemas y ahora voy a ver toda tu lista de reproduccion para entenderle chido y poder sacar un proyecto, Saludos a la bandita de ESCOM

  • @Blessuccess
    @Blessuccess Před rokem

    Muchas gracias profe! Tremendo. Tengo que repasarlo bien y practicarlo.

  • @vatianscader2424
    @vatianscader2424 Před rokem +1

    Muchas gracias Chio, me encantan tus videos, he visto varios de algoritmos y cálculo de big O y me ayudan un monton a comprender y estudiar sobre los temas. No dejes de subir videos por favor.

    • @ChioCode
      @ChioCode  Před rokem +2

      Muchas gracias por el apoyo, seguiré con los videos de eso no hay duda :)

  • @saulrivera4604
    @saulrivera4604 Před 2 lety +2

    Muy clara la explicación. ! Buenísimos ejemplos para poder entender.
    Saludos !!

    • @ChioCode
      @ChioCode  Před 2 lety

      Muchas gracias por el comentario :)

  • @sinfonico1984
    @sinfonico1984 Před 2 lety

    Que buena! El que estaba esperando!

    • @ChioCode
      @ChioCode  Před 2 lety +1

      Gracias por esperar, espero te haya gustado :)

  • @cristianmendoza9440
    @cristianmendoza9440 Před rokem

    Muy buen video ! Estaría genial un video con el problema de las ocho reinas!

  • @mariamercedesramirezdevald4778

    Que bien explicas... guapo...

  • @andresroman9544
    @andresroman9544 Před 2 lety

    Buenísimo video, muchas gracias

    • @ChioCode
      @ChioCode  Před 2 lety

      Gracias a ti por el comentario 😊

  • @pedrojglez3952
    @pedrojglez3952 Před 2 lety

    Muchas gracias chiooo, tu vídeo me está salvando el semestre. Suerteee

    • @ChioCode
      @ChioCode  Před 2 lety

      Excelente n.n ojalá que sigan ayudándote mucho los videos :)

  • @losbochitos6592
    @losbochitos6592 Před 2 lety +1

    Crack, Dios, Ídolo

    • @ChioCode
      @ChioCode  Před 2 lety

      Jajajajaja muchas gracias Bochitos

  • @PasterDEU
    @PasterDEU Před 2 lety

    voy a realizar el ejerciciop em go, muy buena explicacion

    • @ChioCode
      @ChioCode  Před 2 lety

      Excelente! Nos platicas cómo te fue :)

  • @doragaming2470
    @doragaming2470 Před 2 lety

    Owww.. quedó Claro, gracias

    • @ChioCode
      @ChioCode  Před 2 lety

      Gracias a ti por tu comentario 😊

  • @CrusherKingZ
    @CrusherKingZ Před 2 lety

    Interesante tema, y muy bien explicado.
    ¡Éxitos!

  • @veredadelinge3050
    @veredadelinge3050 Před 2 lety +5

    Estaría padre que nos explicara lo del costo de memoria, mis profes de la carrera no lo hacen😑.

    • @ChioCode
      @ChioCode  Před 2 lety +3

      Definitivamente está en la lista de siguientes videos :)

  • @salvadorcano553
    @salvadorcano553 Před rokem

    Gracias por la explicación, ayudaría mucho a entenderlo el ir viendo la solución y el desarrollo mediante prints para ir acabando de entender lo que pasa. Así queda un poco abstracto.

  • @elianca5393
    @elianca5393 Před 2 lety

    Gracias por la explicación muy entendible y no se si me puedes ayudar analizar un ejercicio para ver con que algoritmo es mejor su solución por favor.

    • @ChioCode
      @ChioCode  Před 2 lety +1

      Gracias a ti por el apoyo, y claro si te pasas por los directos que hacemos los miércoles con gusto podemos ver un ejercicio :)

  • @jorgeFlores-gn2os
    @jorgeFlores-gn2os Před 2 lety

    Amigo estoy estudiando ciencia de datos, no se si podrias hacer videos referentes a ello sería algo genial

  • @paolabonilla3790
    @paolabonilla3790 Před 2 lety

    Hola, que tal? quisiera saber si es posible resolver un algoritmo de ordenamiento por D.P?

  • @diegooroza637
    @diegooroza637 Před 2 lety

    Hola Chio! Gracias x compartir este video. Bastante bueno! Una preg breve...porque en algo recursivo con memoriation, el arreglo 'cache' es [-1]*[n+1] en vez de [-1]*[n]? Muchas gracias!

    • @ChioCode
      @ChioCode  Před 2 lety

      Por el índice que empieza en 0, para no batallar y tener que restar siempre el valor cuando accedes al índice

  • @felipedaza8403
    @felipedaza8403 Před rokem

    holaa, muy buen vide. El "else" del ejemplo de fibonacci estaba sobrando no?

  • @denilsonluis1252
    @denilsonluis1252 Před 2 lety

    Que buen video!!!!! una pregunta, como termino de implementar este código 0:40 me salen errores :( :(

  • @luisga4820
    @luisga4820 Před rokem

    te quiero chio

  • @elenafernandez7974
    @elenafernandez7974 Před 2 lety

    Buenas, tengo una duda. Si al descomponer un problema utilizando Divide y Vencerás no existe solapamiento entre los distintos subproblemas generados, ¿tendría sentido utilizar Programación Dinámica para resolver dicho problema?

    • @ChioCode
      @ChioCode  Před 2 lety

      Hola Elena, en esa situación no tiene mucho sentido, el utilizar programación dinámica es para guardar resultados que podrás usar después, pero si no los usarás porque no se sobreponen los su problemas no le veo mucho sentido a hacerlo así :)

  • @israelperezmasle6673
    @israelperezmasle6673 Před rokem

    Ofreces cursos de paga sobre programación? Si es así con gusto me gustaría tomar unos cuantos de tu autoria

  • @andyjulca238
    @andyjulca238 Před 7 měsíci

    guardado, no entendi uu aun me falta vuelvo en unos dias xd , volvere

  • @TheLurleenGamespro
    @TheLurleenGamespro Před 5 měsíci

    Creo que incluso ese problema puede resolverse con programación lineal