Algoritmos BFS y DFS (Recorridos en Grafos)

Sdílet
Vložit
  • čas přidán 28. 11. 2021
  • Si estás buscando trabajo remoto, puedes acceder a Arc desde éste enlace!! 👇🏻👇🏻👇🏻
    ►m.arc.dev/3njnlPd
    👾 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
    👽 Curso de desarrollo backend con NodeJS y Express:
    ► bit.ly/3n4sirS
    👕 MERCHANDISING DEL CANAL:
    ► Tienda CZcams: / bettatech
    ► Tienda Teespring: teespring.com/stores/bettatec...
    ⭐️ AFILIADOS ⭐️
    🎁 7% Descuento en HOSTINGER (Código BETTATECH)
    ► www.hostg.xyz/aff_c?offer_id=...
    🧠 Autocompletado con IA (Kite)
    ► www.kite.com/get-kite/?...
    🐾 MacPaw (CleanMyMacX):
    ► macpaw.audw.net/c/2523912/941...
    📝 Todoist:
    ► doist.grsm.io/martincristobal...
    🎵 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
  • Věda a technologie

Komentáře • 56

  • @aaldiitoo
    @aaldiitoo Před 2 lety +28

    6:08 en la línea 15 debería ser w, no? Porque estábamos hablando de agregar específicamente ese nodo a la cola. Saludos desde la Facultad de Ingeniería en Mexico 🇲🇽

    • @BettaTech
      @BettaTech  Před 2 lety +17

      Bien visto! Fijo comentario como aclaración :)

  • @AlexisVP97
    @AlexisVP97 Před 2 lety +11

    Uf tío, acabo de ver un vídeo tuyo de 2019 y ahora veo este. Sinceramente has mejorado en todo sentido, y no digo que antes estuvieran mal tus vídeos y explicaciones, sino que ahora tienen una excelente calidad y además te desenvuelves perfecto.
    Admiro tu trabajo y por eso te mereces mis felicitaciones. Espero sigas compartiendo tan buen contenido.
    Te mando un saludo desde Uruguay!

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

      Muchisimas gracias por tu comentario!! Me animas mucho a continuar :D

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

    Broo me encantan tus videos. Me ayudaron a entender muchas cosas acerca del coste algoritmico. Unas de las cosas que más me sirvieron fue cuando isiste el código de memorization estaba de lujo. Me encantaría que isieras un ejemplo programando el DFS o el BFS. Sería genial 😉

  • @manu-gt9gr
    @manu-gt9gr Před 2 lety +8

    que buen contenido, me interesa este tipo de contenido, y genial esa patineta eléctrica.

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

    Me encantó el video, muchas gracias!!
    justamente mañana rindo estructura de datos y me ha servido bastante

  • @pablohernandez4305
    @pablohernandez4305 Před 2 lety

    Por favor mas de este contenido, me encanta este tipo de videos son de gran ayuda

    • @BettaTech
      @BettaTech  Před 2 lety

      Un placer haber podido ayudar!

  • @MatGODINEZROJASALEXISOMAR

    podrias hacer una lista de reproducción que vaya de lo basico a lo mas complejo?? a modo de curva de aprendizaje. Por cierto me gustan mucho tus videos, tambien sería bueno que hablaras de algunas diferenvias entre carreras, yo estudio Matematicas aplicadas y Computación en CDMX y hay varias cosas que dices que me recuerdan mucho algunas de mis asignaturas.

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

    Muy bueno, me interesa mucho este contenido. Espero ver algun video del algoritmo de Djistrka. Saludos

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

    Justo tengo parcial de estructura de datos este jueves, me sirve un monton, muchas gracias

    • @BettaTech
      @BettaTech  Před 2 lety

      Mucha suerte!!!!!

    • @rastersoft
      @rastersoft Před 2 lety

      @@BettaTech Recuerdo que cuando estudiaba, decíamos antes del examen: "que dios reparta suerte y no justicia" :-D

  • @sonnyakakitha2580
    @sonnyakakitha2580 Před 2 lety +7

    Me dio curiosidad, sé que una DFS se puede hacer perfectamente de forma iterativa con una stack, pero siempre lo he hecho de forma recursiva, al menos para programación competitiva, y ahora que veo el código, se me hizo curioso, Genial :D

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

      Si! Puse el método iterativo para hacer tanto el BFS como el DFS iterativo, porque creo que mentalmente es más facil de entender :D

  • @miguelgarciagonzalez
    @miguelgarciagonzalez Před 2 lety

    Los videos de algoritmos son super interesantes, más de esto :)

  • @luisantoniomarquezcastro5994

    Excelente vídeo,me gustó mucho!

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

    Buenísima explicación! me encanta tu canal

  • @berwick82
    @berwick82 Před 2 lety

    Muy bueno. Gracias !!

  • @alejandrorangel9509
    @alejandrorangel9509 Před rokem

    Gracias muy bueno

  • @santiagosegura2897
    @santiagosegura2897 Před 2 lety

    Excelente contenido!

  • @Stephen_2330
    @Stephen_2330 Před 2 lety

    Bienvenidos un día mas a BettaTech

  • @FarchopCode
    @FarchopCode Před 2 lety

    Entonces en un grafo no dirigido completo representado con listas de adyacencia, el orden de recorrer el grafo es de O(v^2), no?

  • @xlKlain
    @xlKlain Před 2 lety

    Hola! Muy bueno el video! El canal de Slack ya no existe? El link de la descripción me dice que ya no está activo :( Saludos!

  • @oriolgascon2157
    @oriolgascon2157 Před 2 lety

    Me ha servido para un proyecto de clase así que 10/10 XD

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

    Explica El algoritmo de dijkstra.muy buen canal bro

  • @cristiansantander9778

    note que si arranco del nodo P. Sucede que el nodo Q no llega a ser visitato , tanto si recorro el grafo en BSF y DFS. Es probable que esto suceda o hay alguna manera de resolverlo?

  • @emanuelhernandez5694
    @emanuelhernandez5694 Před rokem

    [1:34] Recursividad administrada e implementada by itself.. XD

  • @cyrusin
    @cyrusin Před 2 lety

    Me encantan tus videos y justo tengo un desarrollo en el que tengo que inplementar dijkstra y tengo una pequeña duda a ver si puedes echarme un cable.
    La idea es calcular el recorrido mas corto entre varios destinos teniendo en cuenta que el punto de origen y de fin deben ser el mismo. Basicamente es para aplicarlo a transporte donde tengo un origen A, 3 destinos que tengo que visitar y finalmente volver al origen A, alguna recomendacion de como afrontar este reto? Mil gracias por adelantado

    • @pedroblanco1000
      @pedroblanco1000 Před 2 lety

      Hola! Yo en este momento tuve que desarrollar el mismo problema. Que otras técnicas te enseñaron? Porque al tratarse de un ciclo hamiltoniano la única opcion es backtracking

    • @cyrusin
      @cyrusin Před 2 lety

      @@pedroblanco1000 no me han dado opciones, basicamente me han planteado el problema y tengo que buscar la solucion. Vi el tema de dijkstra pero me plantea la duda de pasar por todos los destinos y volver al origen, asi que si se te ocurre otra alternativa bienvenida sea

  • @jeanlucalapadula3819
    @jeanlucalapadula3819 Před 2 lety

    este video me está interesante .

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

    Justo hace unos días tuve un examen de esto:(

  • @hackeloff7800
    @hackeloff7800 Před 2 lety

    En el minuto 8:16 que dices ignorar la linealidad no entendí la justificacion, no seria algo como, tenemos o(v+e) donde e = v^2 - v, luego al reemplazar => en o(v+e) = o(v+v^2-v) = o(v^2) ?

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

      O(V+V^2) = O(V^2) , no es una simplificación aritmética sino asintótica: Da igual el coste lineal si le sumas un coste cuadrático, el resultado es cuadrático.
      Básicamente me salté pasos y dije que E es O(V^2) directamente, y da la casualidad que los dos encajan (la simplificación aritmética con la asintótica).

  • @josemiguelochoa5372
    @josemiguelochoa5372 Před 2 lety

    "Está lloviendo que te cagas 🤣"

  • @ricardoservian8878
    @ricardoservian8878 Před 2 lety

    Te pareces a mucho Vsauce

  • @juliandelcarlocarlomagno

    SEGUI HACIEDNO VIDEOS DE GRAFOS Y DESARROLLLA MAS EL TEMA DE O GRANDE.

  • @psicodelico6
    @psicodelico6 Před 2 lety

    1:50 Pusiste la versión iterativa. Mejor es poner la versión recursiva y luego pasar a la iterativa.

    • @BettaTech
      @BettaTech  Před 2 lety

      Correcto! Puse la iterativa para no liar porque creo que la recursion es mas dificil de entender al inicio!

  • @OscarTorres-ls5ve
    @OscarTorres-ls5ve Před 2 lety

    Digamos que todo esto es relevante siempre y cuando se lo implemente en C o assembly, ya que las capas de software que añaden innecesariamente los lenguajes interpretados (estilo JavaScript, Java, Python, etc.) y de las que el desrrollador, habitualmente no sabe nada, hacen imposible tal optimización en la practica. Hacer este analisis para un interprete es como calcular al milímetro, medir con los dedos y cortar con un hacha.

    • @BettaTech
      @BettaTech  Před 2 lety

      De verdad crees que el coste sea cuadrático o lineal no afecta aunque el lenguaje sea interpretado? No estamos hablando de acelerar accesos a memoria o a realizar cálculos en hardware especializado. Que el factor constante de una tecnología sea mayor o menor no afecta a su coste asintótico. Lo cuadrático sigue siendo cuadrático y lo lineal lineal

    • @OscarTorres-ls5ve
      @OscarTorres-ls5ve Před 2 lety

      @@BettaTech No. Lo que digo es que para que calcular tan fino si despues vamos a usar un lenguaje interpretado que añade capas de software que distorsionan todos los calculos. Si vamos a hacer una búsqueda en la cual cada milisegundo cuenta, entonces los interpretes están descartados. Incluso, o quizás mas en entornos de microcontroladores, Lo digo porque en el presente parece que todo se hace en javascript, Python, PHP, Java etc y un cálculo tan fino no es para esos entornos.

    • @BettaTech
      @BettaTech  Před 2 lety

      Insisto, esto no es un cálculo de milisegundos. El análisis no busca rascar milisegundos, de hecho da igual que tengas un coste de O(N+N^2) o de O(1+N^2).
      A ojos del análisis algoritmico, aunque en uno sea algo más rápido a la practica, el coste sigue siendo el mismo, O(N^2).
      Se busca analizar cómo de mal evoluciona el algoritmo cuanto más creces, eso es totalmente agnóstico al lenguaje o tecnología utilizada.
      Entiendo lo que dices, pero estamos diciendo que lo que realmente cambia es el factor constante del análisis (que el coste fijo sea mayor o menor) y eso si, afecta a O(1), pero no es un valor determinante si tienes costes lineales o de exponenciación más alta

    • @OscarTorres-ls5ve
      @OscarTorres-ls5ve Před 2 lety

      @@BettaTech Excelente. Ese es el punto importante: "Se busca analizar cómo de mal evoluciona el algoritmo cuanto más creces, eso es totalmente agnóstico al lenguaje o tecnología utilizada."

  • @C_Lyrics
    @C_Lyrics Před 8 měsíci

    No entendí

  • @gerardgodet4599
    @gerardgodet4599 Před rokem

    vaya castanya de explicacion

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

    francamente pense que explicaria como funciona codigo, Su explicacion es muy gaseosa, sin sustancia