[7.3] Breadth First Search(BFS) in Python | Graph Theory | Data Structures in Python

Поділитися
Вставка
  • Опубліковано 7 лип 2024
  • In this tutorial we will implement BFS algorithm in Python.
    Breadth-first search is an algorithm for traversing or searching tree or graph data structures. It starts at the tree root, and explores all of the neighbor nodes at the present level before moving on to the nodes at the next level.
    🔗Important Links:
    Data Structures in Python: www.thinkxacademy.com/Data%20...
    🌐Join our community:
    Android App(Notes+Videos): play.google.com/store/apps/de... Facebook: / thinkxacademy Twitter: / thinkxacademy Instagram: / thinkxacademy
    #graphtheory #bfs #python #datastructures #algorithms

КОМЕНТАРІ • 56

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

    Use this dictionary:
    graph = {0: [1, 2], 1: [2,3,0], 2: [3,1,0], 3: [1, 2]}

    • @shabareesharyan
      @shabareesharyan Рік тому +1

      Hey, i just wanted to clarify one thing that is use a list instead of set. Because set treats each element as a unique object instead of a sequence. I tried sets and it prints the visited nodes in random fashion everytime. Using list solves that problem

    • @amanlall8496
      @amanlall8496 4 місяці тому

      In your graph, 2nd vertex should be
      2:[0,1,4]
      and not
      2:[0,1]
      but it worked anyway

  • @ivoperes674
    @ivoperes674 2 роки тому +4

    Thank you very much, I've watched many BFS tutorial videos and this is the best I've seen. Your explanations are clear and precise and your scripting is easy to follow along with.

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

      Thanks😀This really motivates me to create these videos😄

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

    Thanks, simple and understandable explanation!

  • @ml9421
    @ml9421 9 місяців тому

    It is so well explained please make a video on dFS, DLS, uniform cost search, and greedy best-first search implementation in python

  • @ernesto_quintana
    @ernesto_quintana 3 місяці тому

    Thank you !!!

  • @ibnefayaz5107
    @ibnefayaz5107 20 днів тому

    Thanks ❣❣

  • @prachidhawane2984
    @prachidhawane2984 5 місяців тому

    Thanks

  • @MohitSharma-xf9wp
    @MohitSharma-xf9wp 2 роки тому +2

    Thanks bro, much helpful !!!

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

      Thanks bro😄Share my videos to help my channel grow💯

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

    good explanation loved it !!

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

      Thanks☺️Make sure to share our videos to help this channel growth💯

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

    Write a function called searchBFS which given the tree or graph as defined below returns every number smaller than 4 in the order it was found using the breadth first technique.

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

    Nice explanation!

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

      Thank you🙂 Share our content to support👍🏻

  • @Abhishekkumar-jl2dr
    @Abhishekkumar-jl2dr 2 роки тому

    Thank you so much for this video.

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

      Please share our videos to help this channel grow😊

    • @Abhishekkumar-jl2dr
      @Abhishekkumar-jl2dr 2 роки тому

      @@ThinkXAcademy please give me some ideas or approach to solve this question
      "Knight and Bishop meeting point on a 8*8 chess board and few blocks are blocked" Please give me some ideas

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

    thnaqu so much man

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

      Please share my videos with other students to help this channel grow🌟🧑🏻‍💻

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

    set function cannot be taken as it sorts the data in it.
    try it by changing the root node.

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

      in visited array order does not matter even if it sorted the algorithm will work.
      Change graph dictionary to this and it will work with any root node:
      graph = {0: [1, 2], 1: [2,3,0], 2: [3,1,0], 3: [1, 2]}

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

      @@ThinkXAcademy u r printing the visited array as final result
      So order matters

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

      i ran the program and the result i am getting is not sorted, tried with node 2: output was 2,3,1,0 which is not sorted

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

      @@ThinkXAcademy i am getting the sort output, tried with node 2 : output was {0, 1, 2, 3}.

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

      @@ThinkXAcademy when we run set() returns new output everytime

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

    in your graph dictionary 2 has a connection with 0,1 and 4. In the grap dictionary,which you defined, "2" has only two connections 1 and 0, should that list include 4 also?

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

      you can add 4 in that list but i have added node 2 in the list of nodes of 4 so that's fine but do not add it in both that will give unexpected output

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

      @@ThinkXAcademy so in dictionary 1 only connected with 2

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

      1:0,2.. must 1:2

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

      in the dictionary you can see 1:[0,2]
      so 1 is connected with 0 and 2.

  • @makaranddeshpande2621
    @makaranddeshpande2621 Рік тому

    what is the link for video you mentioned about cycles in undirected graph

    • @ThinkXAcademy
      @ThinkXAcademy  Рік тому

      Video and Code is available on this website just go to the course and find the video: www.thinkxacademy.com

  • @nazarbylen6737
    @nazarbylen6737 Рік тому

    nice vid but pls explain why we add firstly to queue if we could just add straight to visited array???

    • @tusharvyavahare9229
      @tusharvyavahare9229 Рік тому

      first element in the queue tells the program, where you are in the graph at the moment, so at first you're at root, hence root should be in the queue at start [if queue is empty, the while loop won't start]. You're adding a node to visited set, when you're going to leave the node for further travelling. Also set in python is unordered(mostly doesn't store elements in the insertion order), so you should not use set.

    • @ThinkXAcademy
      @ThinkXAcademy  Рік тому

      Great explanation @Tushar

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

    why did we use visited= set() ? As we are defining a condition which will not repeat the visited nodes

    • @SJ-kp2hq
      @SJ-kp2hq 5 місяців тому

      Nice observation 😅

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

    How can we upload text file into dictionary

  • @056_anmolkumarojha2
    @056_anmolkumarojha2 2 роки тому

    Can you please make a video on recursion how to master it from zero level questions to advance means from basic to advance.. Please can you?

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

      ua-cam.com/video/0Bb90KyMlpw/v-deo.html

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

      This will give you good idea about recursion👍🏻

    • @056_anmolkumarojha2
      @056_anmolkumarojha2 2 роки тому

      Thank you , also if possible please provide your viewers a path how to master important topics like recursion, trees, graph, greedy DP will be very helpful 😊

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

      sure i will

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

    Plz complete course bro

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

    Waiting for DFS

  • @pravingupta1814
    @pravingupta1814 Рік тому

    bro we RE FIND TO SHORTEST PATH FROM INITIAL TO GOAL, so 0,1,2,4 is answer why you are printed 0,1,2,3,4 in this case 3 is not connected to 4 .

    • @ThinkXAcademy
      @ThinkXAcademy  Рік тому

      This is breadth first search technique, it does not aim at finding shortest path. It is a graph traversal algorithm which visits every node in the graph

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

    H'atr hetyet hìerël hâyarŕ nös?!