¿En qué consiste REALMENTE la PROGRAMACIÓN DINÁMICA?

Поділитися
Вставка
  • Опубліковано 13 лип 2024
  • ¿Tan difícil es la programación dinámica? 🤔
    👾 Redes sociales 👾
    ► Twitter: / bettatech
    ► Instagram: / betta_tech
    ► Canal Secundario: / @forkdebettatech
    ► Slack: bit.ly/33gaDDM
    👨🏼‍🏫 MIS CURSOS 👨🏼‍🏫
    👽 Curso de iniciación a la programación con JavaScript:
    ► bit.ly/3kr4bTc
    👕 MERCHANDISING DEL CANAL:
    ► Tienda UA-cam: / bettatech
    ► Tienda Teespring: teespring.com/stores/bettatec...
    ⭐️ AFILIADOS ⭐️
    🎁 7% Descuento en HOSTINGER (Código BETTATECH)
    ► www.hostg.xyz/aff_c?offer_id=...
    🐾 MacPaw (CleanMyMacX):
    ► macpaw.audw.net/c/2523912/941...
    🧠 Autocompletado con IA (Kite)
    ► www.kite.com/get-kite/?...
    🎵 TODA la música es de EpidemicSound:
    ► www.epidemicsound.com/referra...
    ✉️ CONTACTO PROFESIONAL:
    ► Respuesta no garantizada:
    bettatechyt@gmail.com
    📚 LIBROS 📚
    Design Patterns
    ► amzn.to/39XuQlq
    Head First Design Patterns
    ► amzn.to/2uq6XUq
    Refactoring
    ► amzn.to/2SQnf2c
    Clean Architecture
    ► amzn.to/3bZVonJ
    Clean Code
    ► amzn.to/32WVKq3
    Introduction to Algorithms
    ► amzn.to/34SyVFP
    Cracking the Coding Interview
    ► amzn.to/2QkdwC6
    ⏱ ÍNDICE:
    • 0:00 - Introducción
    • 2:50 - Hostinger
    • 3:55 - Solución Recursiva
    • 6:10 - Memoización
    • 9:56 - Bottom Up
    • 12:47 - Final
  • Наука та технологія

КОМЕНТАРІ • 184

  • @BettaTech
    @BettaTech  3 роки тому +7

    🎁 CÓDIGO DE DESCUENTO "BETTATECH" 👉🏼 7% EN TODOS LOS SERVICIOS DE HOSTINGER
    Entra a HOSTINGER con el siguiente link y usa el cupón "BETTATECH" para obtener un 7% de descuento en todos los productos.
    www.hostg.xyz/aff_c?offer_id=357&aff_id=56221

    • @miguel900030
      @miguel900030 3 роки тому +3

      PAGARÍA por un curso tuyo sobre estructuras de datos y algoritmos

    • @VulturARG
      @VulturARG 3 роки тому

      Hola, el código de slack no funciona

  • @LuisRuizHalo
    @LuisRuizHalo 3 роки тому +47

    A mi, lo de memoization se me quedó porque antes de aprenderlo creía que se llamaba memorization. Muy buena serie de videos!

  • @armandomendivil1117
    @armandomendivil1117 3 роки тому +15

    Excelente, este un ejemplo de entrevista, si solo usas recursividad para fibonacci tendrás una complejidad de tiempo y espacio de O(2^n), si usas memoization puedes bajar el tiempo de complejidad a O(n) pero el espacio también es O(n), la mejor forma para este caso es la iterativa ya sea usando una variable temporal para manejar el estado previo o un array como lo muestra en el ultimo ejemplo y da tiempo de complejidad O(n) y espacio constante de O(1). Muy buen video 👍

    • @framm703
      @framm703 2 роки тому +1

      Yo usaría la fórmula cerrada con el número áureo con coste O(1)

    • @armandomendivil1117
      @armandomendivil1117 2 роки тому +1

      @@framm703 me faltó poner lo del número áureo para hacerlo en o(1) 👍

    • @salvadorcano553
      @salvadorcano553 Рік тому +2

      Para este ejemplo concreto, ¿no sería mejor almacenar únicamente 2 valores en el array, que fueran machacandose hasta obtener el resultado?, la complejidad sería la misma, pero el espacio en memoria sería mucho menor, ganaríamos más espacio cuanto más grande fuera el número a calcular, también es un factor a tener en cuenta.

  • @ProEFP
    @ProEFP 3 роки тому +7

    Muchas gracias
    Soy un participante de muchas competencias de programación y estos vídeos me ayudan bastante .

  • @Juan-yj2nn
    @Juan-yj2nn 3 роки тому +46

    *Hey, Vsauce, Michael here*

  • @dang9225
    @dang9225 3 роки тому +2

    Gracias por todos estos vídeos, ayer mismo tuve una entrevista y me pidieron las típicas Katas, hace una semana no sabía ni lo que era, pero no las había estudiado como resolverlas, y eso que era una empresa pequeña, ahora se más pero me falta recorrido en todo esto de los patrones de diseño y los principios SOLID, como utilizarlos en el día a día cuando nos encontramos con estas cosas, no ya en empresas enormes, si no para el día a dia.

  • @edgar1906
    @edgar1906 3 роки тому +2

    Excelente video! Y felicidades por los 100K :D
    Podrías hacer un día de estos videos sobre autómatas finitos? ☺️

  • @soldadopreciso
    @soldadopreciso 3 роки тому +13

    Este es un tema de la materia Analisis de algoritmos, para quienes desean profundizar un poco mas, temas como notacion asimptotica , etc.

  • @balfaz
    @balfaz 3 роки тому +4

    Estas haciendo un grandioso trabajo, y estoy contento por tu logro, te sigo desde cuando eramos 5k

  • @gabrielperezcarballo7798
    @gabrielperezcarballo7798 3 роки тому +5

    Hola @BettaTech, podrias hacer un video para explicar en mas detalles bfs y dfs?

  • @jassencastilloespinoza4780
    @jassencastilloespinoza4780 3 роки тому +2

    esta genial!! ahora falta un video de la programación basada en eventos con ejemplos T_T y puedo morir feliz! un abrazo a la distancia!

  • @santiagogo3161
    @santiagogo3161 3 роки тому

    Muchas gracias por compartir tus conocimientos, se me ha abierto un mundo por descubrir. Muy bueno el vídeo.
    Un saludo.

  • @galomax
    @galomax 3 роки тому

    Muchas gracias por el vídeo. Claro y conciso, sigue así!

  • @tho207
    @tho207 3 роки тому +1

    felicidades por el vídeo, calidad altísima, todo claro y sin redundancias

  • @aureliojosetriguerosmirava1624
    @aureliojosetriguerosmirava1624 7 місяців тому

    Explicas increíble, muchas gracias

  • @rupardo689
    @rupardo689 3 роки тому +4

    gran explicacion!!!! ¿podrías explicar como aplicar eso a problemas de optimización?

  • @noecruzrodriguez7744
    @noecruzrodriguez7744 3 роки тому

    Genial!, muchas gracias por la lección.

  • @juanjocg1870
    @juanjocg1870 3 роки тому +10

    Lo estaba esperando jeje

  • @simonalvarado2513
    @simonalvarado2513 3 роки тому

    Que buen video!. Seria interesante ver tu explicación sobre algoritmos evolutivos.

  • @analisamelojete1966
    @analisamelojete1966 2 роки тому

    Que buen video! Muchas gracias por el contenido!

  • @fedeeoliva8371
    @fedeeoliva8371 3 роки тому

    Wooow! Buenisimo estuvo esto. Cuestiones simples que optimizan una barbaridad.

  • @tortugadio2940
    @tortugadio2940 3 роки тому +2

    Genial! no lo conocía

  • @renemini1035
    @renemini1035 3 роки тому

    Excelente todos tus videos

  • @cristiands8084
    @cristiands8084 3 роки тому

    Muy claro !!! gracias

  • @ustongs
    @ustongs 3 роки тому

    Tu vídeo llega en el mejor momento muchas gracias

  • @angelbarboza3254
    @angelbarboza3254 3 роки тому +1

    Excelentes vídeos!

  • @unputocalvo
    @unputocalvo 3 роки тому +1

    La madre que me parió, justo tenemos programación dinámica para esta semana en la UNED. No me podías haber venido mejor.

  • @tadeogonzalezalvarez6488
    @tadeogonzalezalvarez6488 3 роки тому

    Gracias por el video!!, muy interesante, me suena a que en programación dinámica se pueden utilizar los patrones de diseño Flyweight y Memento.

  • @arthur-gm5oe
    @arthur-gm5oe 3 роки тому +1

    Muy bien vídeo!!! :)

  • @EVA6383
    @EVA6383 3 роки тому

    Excelente explicación 👏🏼👏🏼👏🏼

  • @jamavocorp
    @jamavocorp 3 роки тому

    Me fue muy útil, sabia que la solución a algo que buscaba lo había visto en tu video.

  • @Jorge150CL
    @Jorge150CL 3 роки тому

    Asocio dynamically programming a crear objetos en tiempo de ejecución, en java le llaman at runtime. Podrías explicar la diferencia de estos conceptos? Buen video

  • @carlosdanielcastellanosgar8153
    @carlosdanielcastellanosgar8153 3 роки тому +1

    Wow, me resolviste esa duda, gracias

  • @pepeluis766
    @pepeluis766 3 роки тому

    Muy buen vídeo, gracias.

  • @terry-
    @terry- 6 місяців тому

    Genial!

  • @danielbarrientos722
    @danielbarrientos722 3 роки тому

    Muy buen video!
    Con tema de problema de memoria de la recursividad tambien se puede solucionar con trampolines

  • @ludskywalker
    @ludskywalker 3 роки тому

    Super buen video, excelente explicación de la programación dinámica

  • @JorgeRamos-sh7ve
    @JorgeRamos-sh7ve 3 роки тому

    Buen día. Me encanta tu canal. Podrías indicar algún enlace donde profundizar este tema? La verdad me gusta mucho como explicas pero en este ejemplo no me quedo claro la programación dinámica porque cuando aprendí a crear la serie Fibonacci lo hice con variables o arreglos sin recursividad, de hecho lo hice con turbo Basic hace casi 30 años. Te felicito por la calidad pedagógica que tienes. Sigue enseñándonos. Gracias

  • @gerardosuarez9051
    @gerardosuarez9051 3 роки тому +2

    Excelente video.

  • @emmanuelarriaga9674
    @emmanuelarriaga9674 3 роки тому

    Congrats bro!!

  • @adrianrobertoaguilarsandic6999
    @adrianrobertoaguilarsandic6999 3 роки тому

    Excelente video!!!

  • @miguelalbertocalderon5902
    @miguelalbertocalderon5902 3 роки тому

    Hay un ejercicio que me salió en una entrevista que se llama "subarrays divisible by k" si lo puedes explicar te agradecería un monton ya que llevo un buen rato tratando de entenderlo y no he podido. Grande por este tipo de videos y muy bien explicados.

  • @AyO18
    @AyO18 3 роки тому +2

    bueno, literalmente me estuve agarrando a madrazos con recursividad hace 24hs, ese video me viene de perlas >:3

  • @eugeniocar76
    @eugeniocar76 3 роки тому

    Excelente video, creo que esta "programacion dinamina" es un termino romantico para las tecnicas que usamos los que aprendimos a programar old schooll

  • @juliocesarmamanivillena8943
    @juliocesarmamanivillena8943 3 роки тому

    Excelente video se entendió la idea del método lineal, pero no sé lo esperaba el infinity por su reacción😂
    En Java con un BigInteger lo solucionamos los números grandes
    Saludos BettaTech

  • @cristiancocanavarro4919
    @cristiancocanavarro4919 3 роки тому +1

    Este canal es de calidad

  • @LuisACanales
    @LuisACanales 2 роки тому

    Muy interesante, gracias por la clase.

  • @joserubio3036
    @joserubio3036 3 роки тому

    Hey betta gran video, tenia una duda que preguntarte, veras estoy buscando un portatil con buena autonomía, portabilidad y que sea potente dentro de esas características. Mi uso de trabajo es programación en jupyter nootebook, RStudio, análisis de datos, gestión de redes sociales y trabajos ofimáticos. Me podrias recomendar algo?

  • @keybito11
    @keybito11 3 роки тому

    Muy útil

  • @nicolasa.bermellferrer8025
    @nicolasa.bermellferrer8025 3 роки тому +40

    Y yo aquí haciendo programación dinámica sin saberlo!!

    • @jerome092master
      @jerome092master 3 роки тому +1

      Rt

    • @eliasgill2453
      @eliasgill2453 3 роки тому +1

      Sale mil veces mas natural que la recursividad 😂

    • @getseneko7004
      @getseneko7004 3 роки тому +1

      Es que al usar JS es más común usar funciones que recursivo, pero no lo aprovechamos como tal.

  • @aleeherasimiuk
    @aleeherasimiuk 3 роки тому +2

    Te conocí hace poco y me encantan tus videos. Veo que sos una persona muy capacitada y que sabe de lo que habla. Me encanta. Felicitaciones!.
    Me gustaría verte hablando de cómo funciona Lazy Evaluation vs Eager Evaluation. Sería muy interesante

  • @luisasanchez9267
    @luisasanchez9267 2 роки тому

    Buenísimo video!!!

    • @BettaTech
      @BettaTech  2 роки тому

      Me alegro que te haya gustado! 😊

  • @ramonsorto5107
    @ramonsorto5107 3 роки тому

    Martin tienes un video de como hacer configuraciones de Vim

  •  2 роки тому

    Gran video, me hubiera servido mucho hace 15 años para las Olimpiadas de Informática xD

  • @nikse2028
    @nikse2028 2 роки тому

    Parece simple... Pero sus variantes son de las cosas mas complejas que eh visto en toda la carrera, dios mio

  • @djtiner1
    @djtiner1 3 роки тому +1

    qué recuerdos de las clases de Algoritmica en la FIB con Conrado enseñandonos DP xD

  • @zinedinejeanpierreeriqueto3795
    @zinedinejeanpierreeriqueto3795 3 роки тому

    Hola sensei, utilizas estructura de datos para el fron

  • @JulsGeekPI
    @JulsGeekPI 3 роки тому

    Para aprovechar el gran mercado latinoamericano. Sería fácil y con un cambio de una sola letra, de betatec a petatec.

  • @rubenpalma6497
    @rubenpalma6497 3 роки тому +1

    Gracias tío betatech

  • @Linuxmusica
    @Linuxmusica 3 роки тому

    Duda, ¿en C++ no se puede hacer con punteros? Gracias.

  • @javierquirozgalindo664
    @javierquirozgalindo664 3 роки тому +1

    Hola sr. Betta como se llama el programa que le permir mostrar código en un formago amigable para grabarlo? 🤔

  • @Padrino-kp1rf
    @Padrino-kp1rf 3 роки тому +2

    Muy buen video, supongo que esto es algo ya avanzado de ciencias de la computación
    Pd: podrías hacer un video donde nos expliques cómo harías un sistema tipo zoom o cualquiera de videoconferencias xfa

    • @dang9225
      @dang9225 3 роки тому

      Hola, busca Simple-peer es javascript pero hace toda esa magia con Webrtc

  • @S4MBENTZ
    @S4MBENTZ 3 роки тому

    Muy intedezante

  • @orlandogasparreyes2108
    @orlandogasparreyes2108 3 роки тому

    Podrias 🙋🏻‍♂️hablar mas a profundidad de estructuras de datos pero utilizando java en vez de Typescript ✨, eres un crack maestrooo, saludos desde Mexico 🇲🇽😊

  • @elkatedratico
    @elkatedratico 3 роки тому +2

    yo entendía por programacion dinámica al código que genera más código y lo ejecuta.

  • @rubencristobalgarcia185
    @rubencristobalgarcia185 3 роки тому

    Muy buen vídeo gracias!

    • @BettaTech
      @BettaTech  3 роки тому

      Gracias a ti por comentar! :)

  • @samuelgallardo6760
    @samuelgallardo6760 3 роки тому +1

    Los programadores de ahora no conocen la verdadera programación dinámica, gramáticas formales, autómatas que se auto reproducen, el problema, cuando yo lo hacía es que jamás nunca nadie podía entender mi código, el más eficiente, pero ininterpretble, ahora los lenguajes incluyen muchas estructuras que facilitan esto, pero nadie las usa

  • @samuelgallardo6760
    @samuelgallardo6760 3 роки тому +1

    ¿Alguno de ustedes ha programado con la Maquina de Turing?, la más eficiente pero nadie podrá modificar el código por no entenderlo, por eso la mayoría no programa dinámicamente, estructuras básicas tradicionales

  • @josecarlosbarrigaarnez8843
    @josecarlosbarrigaarnez8843 3 роки тому

    Cual es el enlace para unirse al canal de slack( el de la descripción ya no esta funcionando)

  • @ShinigamiRyto
    @ShinigamiRyto 3 роки тому

    Así cuando te enteras que esa llamada programación dinamica es algo ya se hacia desde hacia poco después que enseñaran recursividad en la escuela.... siendo que da miedo el nombre porque suena a lo que hace el machine learning de adaptarse y mejorar el algoritmo a medida que se ejecuta

  • @nbensa
    @nbensa 3 роки тому

    Por "programación dinámica" pensé encontrar algo como el código que John Carmack escribió para ajustar el escalado de sprites y texturas luego de cambiar la resolución de pantalla en el juego Wolfenstein 3D (1990/91).

  • @juniorrafaeldelorbemorillo318
    @juniorrafaeldelorbemorillo318 28 днів тому

    que lenguaje de programacion usate

  • @maximilianojimenez5254
    @maximilianojimenez5254 10 місяців тому

    dude, desde hoy soy fan de tus videos

    • @BettaTech
      @BettaTech  10 місяців тому

      Mil gracias!!!!

  • @Mauricetz
    @Mauricetz 3 роки тому +10

    Cuando se te ocurren formas de programar mientras aprendes y luego te das cuenta de que ya tienen un nombre 😂

    • @andresperezdominguezx5108
      @andresperezdominguezx5108 3 роки тому

      Eres un crack

    • @Gipsy_T.
      @Gipsy_T. 2 роки тому

      Xd tal cual ayer en clase dejaron hacer fibonacci y lo hice con el for en vez de recursivo

  • @doragaming2470
    @doragaming2470 2 роки тому

    Que programa está utilizando?

  • @Navegonauta
    @Navegonauta 3 роки тому

    Estan geniales los demos. Solo que es una pena que se use a TS o JS que es tan carente y no un lenguaje mas potente...

  • @johanvelandia1328
    @johanvelandia1328 3 роки тому

    Se que no viene al tema pero alguien me podría decir que tema de vs code esta usando? me encantaron las llaves verdes

  • @JaviArte
    @JaviArte 3 роки тому

    Una pregunta tonta sobre el IDE que me deja todo loco XD Cuando haces scroll, las líneas de código se quedan fijas, ¿pero el número de línea se mueve? Y además, unos van en orden descendente, otros ascendentes... Un poco lioso, no?

  • @carlosalvarez2069
    @carlosalvarez2069 3 роки тому

    Qué lenguaje estás usando?

  • @wes5457
    @wes5457 3 роки тому

    SI tengo la oportunidad lo implemento.

  • @tempusmagia486
    @tempusmagia486 3 роки тому

    ahhh es typescript, con razón los parámetros no me cuadraban por mucho que lo pensaba

  • @jeycode9180
    @jeycode9180 3 роки тому

    No pude cumplir mi sueño dinámico de llegar a los 100 subs antes que betta tech a los 100.000 x(.
    Enhorabuena, los calvos dominaremos el mundo!

  • @monkeydiy1
    @monkeydiy1 3 роки тому

    Grande!! Mañana tengo clase dr algoritmia y vamos a dar programación dinámica voy a ir con ventaja jejeje

  • @sergiorodriguez7945
    @sergiorodriguez7945 3 роки тому

    Literalmente tengo mañana un examen de programación dinámica y has subido el vídeo ayer, osea que me viene super bien el vídeo :)

    • @oscarfernandezdev
      @oscarfernandezdev 3 роки тому +1

      ¿Cómo te fue?

    • @sergiorodriguez7945
      @sergiorodriguez7945 3 роки тому

      @@oscarfernandezdev nos preguntaban un algoritmo que recorriese un grafo, y lo que tenía que devolver el algoritmo no lo saqué pero el concepto que pedían lo conseguí sacar más o menos, así que bien

  • @wiltonvp2904
    @wiltonvp2904 3 роки тому +1

    Hola Martin... Como ves el Futuro Programacion vs Maching Learning.. No haran falta los programadores a futuro? El desarrollo Web , escritorio y movil se iran?

    • @juanmanueltejedatorres1541
      @juanmanueltejedatorres1541 3 роки тому

      Veelo de está manera, la programación no es lo mismo que la algoritmia, y los humanos tienen la capacidad de relacionar, "pensar" y descubrir cosas nuevas, mientras las computadoras se limitan a ejecutar tareas repetitivas sin embargo existen cosas que por el momento están limitadas a los humanos, en otras palabras a la experimentación, la programación de puede de cierta forma automatizar pero para lograr esto se necesita un algoritmo el cual requiere "pensar" y las computadoras no lo hacen al menos

  • @jdeveloperjs2852
    @jdeveloperjs2852 3 роки тому +2

    Interesante video.

    • @BettaTech
      @BettaTech  3 роки тому +1

      Gracias por verme :)

  • @datapick3r
    @datapick3r 3 роки тому

    genial, cada ves mejoro el coste algoritmico de mis dev

  • @fabriciorivarola9352
    @fabriciorivarola9352 3 роки тому

    Hay algo que no termino de entender, en 6:45 el primer return de la primera ejecución no deberia parar la ejecución y por ende la recursividad porque el resto del codigo no se ejecuta?

    • @juanmanueltejedatorres1541
      @juanmanueltejedatorres1541 3 роки тому

      Aunque para el caso de encontrarse con el primer return tienes que considerar que las llamadas que hay en cola aún se están ejecutando y a su vez están agregando más llamadas, viendo las llamadas como un árbol, es difícil explicarlo en texto espero me entiendas

  • @denuxs
    @denuxs 3 роки тому

    Como puedo unirme al canal de Slack? el link no esta activo

  • @jorgemendezortega3243
    @jorgemendezortega3243 3 роки тому

    Esto es como cuando se utiliza yeild en JS

  • @ustongs
    @ustongs 3 роки тому

    Parte dooooos.
    Hay una propuesta de un ejercicio para entrar a Google. Se llama min diferencia en un arreglo. Varios lo resuelven con programación dinámica.

  • @omalalvarez9727
    @omalalvarez9727 3 роки тому

    me gustan tus lentes jajaja, no tienen nada que ver con esto pero están cool

  • @aniballecter6054
    @aniballecter6054 3 роки тому

    El traje nuevo del emperador...
    Sin ánimo de ofender... acabo de darme cuenta de que llevo haciendo programación dinámica desde que hice mi primer programa hace 35 años...
    (Esto pasaba mucho en mi facultad había profesores que incluso decían que tal o cual libro estaba completamente equivocado y que teníamos que hacer las cosas como ellos nos explicaban)
    Yo también puedo jugar a reinventar la rueda :
    Memorización? => Memoizacion
    Recursividad? ==> Recuividad
    Inteligencia Artificial? ==> Inteliencia atificiá
    Para mí que el que se inventó el primer término mientras daba clase había desayunado algo más que agua con misterio...
    Me gusta el canal pero debería haber una Real Academia de la lengua informática para evitar que la gente se marcase faroles a cuenta de inventar términos para lucirse.

  • @DuniC0
    @DuniC0 3 роки тому

    Creo que para calcular fib(10000) para la demostración de DP sería adecuado usar python

    • @DuniC0
      @DuniC0 3 роки тому

      @@danielmbcn Lo digo por que es capaz de calcular números enormes con toda la precisión

  • @gatopez7833
    @gatopez7833 3 роки тому

    q bueno

  • @yesidev4131
    @yesidev4131 3 роки тому

    Beta te quiero preguntar algo, en vim cuando quieres importar algo, tienes que escribir toda la ruta? O existe algún autoimport similar a los que tienen los ides, y cuando quieres buscar una palabra en todo el proyecto (ej. Dónde de llaman una clase HTML en varios archivos)

    • @WillCastruita
      @WillCastruita 2 роки тому

      Tu solución a lo segundo se llama telescope

    • @yesidev4131
      @yesidev4131 2 роки тому

      @@WillCastruita ya ni me acordaba de esta pregunta, pero si, me autorespondo y para los autoimports se usa COC, con su comando aw en el caso de typescrit ya cuento con un repositorio personal de neovim donde he pasado muchas funcionalidades de VSCode a Neovim

  • @dub_cl
    @dub_cl 3 роки тому

    Hola, alguien me puede pasar invitacion al slack? el de la descripción no funciona, saludos y gracias!

  • @hazlosipuedes
    @hazlosipuedes 3 роки тому

    Un saludo... Entendí con tu video la programación dinámica, el objetivo es optimizar los recursos de memoria, solo una duda... Porque los lenguajes funcionales y en espacial haskell solo usa recursion?.. Si es tan costoza... Un día platicando con un maestro me dijo que depende del lenguaje, que la programación iterativa al final es más costosa pero es más fácil de hacer el proceso mental para programar, pero una vez entendida la programación funcional estos lenguajes son más eficientes y me hizo el ejemplo de recursion en JS y en racket y en racket no se trababa el proceso usaba menos memoria y era más rápido, pero obvio en la web se usa JS... Entonces conclusión, la pregramacion dinámica es hacer programación iterativa lo programado en funcional? Como sería lo contrario?... Hacer un algoritmo iterativo volverlo funcional?. (claro cambiarlo de lenguaje) y con esto nos ahorraría código y seria mas veloz, esto también es programación dinámica?. Saludos
    ..

  • @nulld0t
    @nulld0t 3 роки тому +2

    Al final, puedo reemplazar cualquier algoritmo de recursividad por uno iterativo con programacion dinamica?
    o sirve en este ejemplo en especifico

    • @hernanrodriguez1435
      @hernanrodriguez1435 3 роки тому +3

      Todo algoritmo recursivo puede ser traducido a un algoritmo iterativo, pero no necesariamemte con programacion dinamica. No todos los algoritmos recursivos cumplen la intrinseca estructura de un problema de programacion dinamica (ej. Backtracking)
      Si queres saber mas te recomiendo el libro Algorithm Design Manual de Skiena :)

    • @nulld0t
      @nulld0t 3 роки тому

      @@hernanrodriguez1435 muchas gracias por la respuesta! ♥

  • @arsrivaszaredan8217
    @arsrivaszaredan8217 3 роки тому

    muy bonito y todo, pero enseñaste el ejemplo más simple de todos los que hay de DP >:v subirle un poquito el nivel no hará daño.
    Psdt: de todas formas muy buena explicación :D