G-45. Prim's Algorithm - Minimum Spanning Tree - C++ and Java

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

Комментарии • 638

  • @takeUforward
    @takeUforward  2 года назад +117

    Let's continue the habit of commenting “understood” if you got the entire video. Please give it a like too, you don't 😞
    Do follow me on Instagram: striver_79

    • @ujjawal_
      @ujjawal_ 2 года назад +1

      thanks for your valuable content 🙂

    • @rishav144
      @rishav144 2 года назад +1

      understood ♨️

    • @youtubegaming7791
      @youtubegaming7791 2 года назад

      bhaiya notes link

    • @dr.stereo_4046
      @dr.stereo_4046 2 года назад

      Oh ho maje aa gye tree me to 😁. Thanks bhaiya

    • @dr.stereo_4046
      @dr.stereo_4046 2 года назад

      Understood understood understood 😊

  • @ayushpatel2171
    @ayushpatel2171 2 года назад +169

    All the newbies just wait for some time. When you will feel like banging your head due to dynamic programming problems, this channel will save you. He doesn't need any controversy to grow his channel. He is making videos to make quality content available on youtube for free.
    His audience may be small but it is loyal. And when it comes to studying you only get this many view. Bcoz that is the real number of serious students.

    • @shivanshnamdev6417
      @shivanshnamdev6417 2 года назад

      😹 lol having 3 lakh subs And Views 5-10 k I think paid Views Hain 😹😹😹

    • @ayushpatel2171
      @ayushpatel2171 2 года назад +51

      @@shivanshnamdev6417 Advanced topic itne hi log padhte hai. Waki log bas c aur java ka one shot hi deakh te rehte hai.

    • @shivanshnamdev6417
      @shivanshnamdev6417 2 года назад

      😹 Baas Karo yaar Itna Kon defend karta Hai chalo maan Liya Aap sahi per itne hi agrr advance padhte toh 10-15 k subs baas hone the baaki kya churake laaye

    • @atheisttttt
      @atheisttttt 2 года назад +3

      @@ayushpatel2171 💀

    • @atheisttttt
      @atheisttttt 2 года назад +22

      @@shivanshnamdev6417 4 saal baad ana

  • @ary_21
    @ary_21 Год назад +171

    Notes for self!
    Required data structures
    1. Min heap
    2. Visited array
    3. Mst list that will store all the edges that are a part of MST
    Datatypes of our data structures
    Visited array => int
    Mst list => (weight , node name , node parent)
    Steps
    1. Mark the visited array as 0 for all the nodes
    2. Start with 0th node and push
    (0,0,-1)
    explanation: -1 means 0 is the genesis node
    Mark 0 as visited
    3. Push all the neighbours of 0 in pq *Do not mark them visited* (footnote 1)
    Since its a min heap the edge with minimum weight will be at the top
    4. Pick up the top edge , insert it in the mst , mark the picked node as visited , insert all neighbours of picked node into pq
    5. keep repeating steps 3 and 4 untill all the nodes have been picked up and thats when the algorithm ends
    footnote:
    1. why to not mark it visited?
    in bfs , when we push the element inside a queue we mark it as visited cause that element will be picked up later for sure (algorithm ends only when the queue is empty )
    but in msts case even if we push the edge into pq , theres no surety that the edge will be picked up . when prims algo ends there are still a few non accepted edges present in the pq hence we only mark it visited once its picked up from pq

    • @RANGER_Rajat
      @RANGER_Rajat 11 месяцев назад

      👍

    • @ayushanand5659
      @ayushanand5659 11 месяцев назад +8

      Copy mein bana leta bhai

    • @IshaanJoshi-ms9mb
      @IshaanJoshi-ms9mb 7 месяцев назад

      @@ayushanand5659 lol

    • @valendradangi1822
      @valendradangi1822 6 месяцев назад +1

      I think 0 is not marked visited while pushing into the queue but when it is taken out of queue

    • @43johri
      @43johri 2 месяца назад

      In BFS also, you can do same thing. First add it to the queue, and once popped, mark it visited and continue. What do you think is wrong with this approach ?

  • @JustForFun-zz2hb
    @JustForFun-zz2hb 2 года назад +144

    At 8:45 , node 2 is already visited so it should not be added to the priority queue. However it does not make any difference as node 2 is already visited and will not make any changes to our answer.

    • @takeUforward
      @takeUforward  2 года назад +56

      OOps sorry, yes

    • @jadejaharshvardhansinh8332
      @jadejaharshvardhansinh8332 2 года назад +5

      Yeah I watched it Second time and then noticed it😅 good point!

    • @Saurabh-fe2bg
      @Saurabh-fe2bg Год назад +44

      Paused the vdo...and searched for the comment which mentioned this

    • @praneethkonduru9000
      @praneethkonduru9000 Год назад

      nice one i also observed this

    • @gigglezone3432
      @gigglezone3432 Год назад +5

      Yea I was searching for this comment, why nobody pointed out the error. Got it!!

  • @bibaswanmukherjee6853
    @bibaswanmukherjee6853 2 года назад +114

    Those who are coming here to criticize striver you don't know the struggle he did to get to the place where he is now and also his quality of teaching is top notch. His DP series is pure gold

    • @pritammehta7770
      @pritammehta7770 2 года назад

      But what he said was right ?

    • @vaibhavnayak233
      @vaibhavnayak233 2 года назад +4

      @@pritammehta7770yeah. Maybe using a girl thumb line was wrong point but rest of the part is 100% right.

    • @JohnWick-oj6bw
      @JohnWick-oj6bw 2 года назад +16

      @@vaibhavnayak233 He was 100% right about that too. See, how she played victim card when faced with criticism.
      And all the toxic ppl coming to defend her??? Only cuz she's a female

    • @anshumaan1024
      @anshumaan1024 Год назад +3

      @@JohnWick-oj6bw kon critcise kr rha tha bhai ?🙄

    • @Moch117
      @Moch117 Год назад

      Who is criticizing him and for what ? @@pritammehta7770

  • @WhyYouN00B
    @WhyYouN00B 2 года назад +41

    Striver bhaiya ignore these freshers
    Bache hai samaj utna hai nhi
    U just keep moving forward
    Love you 100000❤❤❤❤

  • @nishantbhardwaj9757
    @nishantbhardwaj9757 Год назад +27

    I didnt even know about how to calculate sum in an array around 6-7 months ago but now i had solved over 400 questions, Thank you so much for making this possible .

  • @pratiknagdeve3259
    @pratiknagdeve3259 2 года назад +13

    I know lots of ignorant will come to hate you but after they know you very well they will come back to you to learn from you regarding competitive coding and DSA.

  • @peterfromengland8663
    @peterfromengland8663 2 года назад +46

    Whoever criticizing striver you will know the quality of this man ,when you really start coding from heart

    • @Moch117
      @Moch117 Год назад

      Who is criticizing him and for what ?

  • @harshal_bh
    @harshal_bh 2 года назад +10

    as a working professional, I find ur videos are the best and in-line with important and freq asked dsa questions, completed dp playlist already, do not pay heed to these guys and carry on

  • @shashankjoshi8250
    @shashankjoshi8250 8 месяцев назад +4

    Really good Explanation - Just one feedback, start with Intuition first then move forward with the algorithm instead of other way around.

  • @aniruddhadas1778
    @aniruddhadas1778 2 года назад +25

    When you are starting your journey in DSA then you would grab those dhattarwal videos but as time elapses you will understand the worth of this man STRIVER❤️

    • @study8
      @study8 2 года назад

      Should i learn Java aur c++ for this

    • @pradeepkumarbishnoi8127
      @pradeepkumarbishnoi8127 2 года назад

      Dehk bhai tuje iska acha lag ta hai tu iska dehk. Muje jo jada samj ayaga ma uska dehkuga. To isma nahi hi tu galat hai or na hi main.

    • @JohnWick-oj6bw
      @JohnWick-oj6bw 2 года назад

      @@study8 C++ is better for this

  • @truthquest4404
    @truthquest4404 2 года назад +57

    Striver is real teacher. And motivation for me
    3million ka channel ek tweet ka reply karne ke liye video bana pada😂😂

    • @MN-gn7lt
      @MN-gn7lt 2 года назад +6

      Ye daar hona jaruri hai❤😂💯

    • @user-fz1yv4lq4d
      @user-fz1yv4lq4d 2 года назад

      @@MN-gn7lt tere behen ko koi Bolega na tab mat bolna

    • @Rajat_maurya
      @Rajat_maurya 2 года назад +6

      ye dar hame accha laga

  • @AashiSaxena-g8z
    @AashiSaxena-g8z 7 месяцев назад +1

    Best thing about him is that he emphasises on what we should not do. That's the way we remember it oo

  • @sahilgupta1225
    @sahilgupta1225 9 дней назад +1

    you are amazing striver, wish to meet you someday !!

  • @visase2036
    @visase2036 2 года назад +36

    Thanks once Again Striver, For Freshers, this is great . But I feel that Prim's video in your old Graph playlist was more intuitional and crystal clear.

    • @takeUforward
      @takeUforward  2 года назад +42

      But it was a bit complex, this is more straightforward and easy 😅

    • @pulkitagrawal8046
      @pulkitagrawal8046 Год назад +1

      I too felt in the same way

  • @meetkgp
    @meetkgp Год назад +4

    I really enjoy watching your videos! I have two pieces of constructive feedback that I hope will be helpful:
    1. [Addressed] Already pointed out by Just For Fun: At 8:37, node 2 is already visited, so it should not be added to the priority queue
    2. At 16:20, during your explanation of the intuition, you covered Kruskal's MST instead of Prim's MST

    • @shreyanshagrawal3115
      @shreyanshagrawal3115 Год назад

      what should be Prim's then?

    • @lakshsinghania
      @lakshsinghania Год назад

      @@shreyanshagrawal3115 exactly!

    • @shivamnegi7552
      @shivamnegi7552 Год назад +1

      no bro , both prim's kruskal are greedy , intuition for both are same we doing greedy in both cases .

    • @bulioh
      @bulioh 9 месяцев назад

      Yeah I was confused at 16:24 since I don't think that edge (1,4,3) would be in the priority queue yet

  • @Subhamoygpt
    @Subhamoygpt Год назад +3

    Again a master piece. Thanks for this video striver. I think the last (2,2,3) should not be added as 2 is already visited when we are standing at 3.

  • @preranapatro2414
    @preranapatro2414 Год назад +2

    U r the best ...no other content can ever be better then this one ..🥰🥰🥰🥰🥰🥰💌

  • @harshprit_k
    @harshprit_k 2 года назад +26

    Abhi Aman Aman kar rhe h sabhi, 3 saal ke baad yahi se placement k liye padhenge 😂

    • @vegitokun
      @vegitokun 2 года назад +1

      Bhai m 11th class m hun, iss bande ka content shi m achcha h kya? Abhi jee ki prep kar raha hun.

    • @harshprit_k
      @harshprit_k 2 года назад +4

      @@vegitokun yes bro, content is damn good, having opinion about something shouldn't affect your decision.
      Or just wait for 3 years, you will automatically know why i am saying this..

    • @Rajat_maurya
      @Rajat_maurya 2 года назад +1

      ekdam sahi bat bole bhai...abhi fresher hai inko kya hi pata job lena kitta mushkil hai

  • @nishant1456
    @nishant1456 2 года назад +11

    CP is incomplete without this guy

  • @keepitup3077
    @keepitup3077 2 года назад +6

    Driver bhaiya aapke to maje hai yaar😁😁😁

  • @neilbohr6015
    @neilbohr6015 9 месяцев назад +3

    in the worst case scenario wouldn't TC be V(logV+V-1+logV)
    for each vertex we are travelling all its edges(which can be at max v-1 in complete graph for a vertex )
    🤔🤔 just thinking

  • @PriyaGupta-sg4sm
    @PriyaGupta-sg4sm 10 месяцев назад +4

    Why did we take (2,2,3) at 8:45, we see before added if the node is already visited no? pls clarify

  • @arpitrajput6424
    @arpitrajput6424 2 года назад +19

    Code according to explanation
    C++
    int spanningTree(int V, vector adj[])
    {
    // code here
    vector vis(V,0);
    vector mst;
    priority_queue pq;
    pq.push({0,{0,-1}});
    int sum=0;
    while(pq.size()){
    int dis = pq.top().first;
    int node = pq.top().second.first;
    int parent = pq.top().second.second;
    pq.pop();
    if(vis[node])continue;
    if(parent!= -1)
    mst.push_back({node,parent});
    vis[node] = 1;
    sum += dis;
    for(auto it : adj[node]){
    int adjNode = it[0];
    int edgeW = it[1];
    if(!vis[adjNode]){
    pq.push({edgeW,{adjNode,node}});
    }
    }
    }
    // printing mst
    // for(auto it : mst){
    // cout

  • @avocode1487
    @avocode1487 2 года назад +2

    waiting for new videos bhaiyya, and I really want to thank you, bcoz of your awesome and crystal clear lectures, I completed graphs like topic in just a week, all credit goes to you, thank u so much bhaiyya. 👍

  • @lonerider6695
    @lonerider6695 5 месяцев назад

    basically pq is ensuring that we get min distance from source to each node and vis array is making sure all that all nodes are visited
    And carefully observing these two are the only conditions for a MST i.e. min dis (done by pq) and all node are connected (vis array taking care of that)

    • @AtharvaRao0104
      @AtharvaRao0104 3 месяца назад

      PQ will only have crossing edges. and it gives the min weight edge when asked ..this will ultimately ensure you build a MST ..
      visited array is to keep the vertices already in the MST. And at the end, all vertices have to be in the MST. (and V-1 Edges also will be in MST.)

  • @amanasrani6405
    @amanasrani6405 6 месяцев назад

    Thank You Striver, If you are not there pata nhi kya hota thousand of student ka
    Amazingggggg!
    also hats off to your patience doing dry run❤❤❤❤❤❤❤

  • @bhadanavikas_13
    @bhadanavikas_13 2 года назад +24

    Why people commenting so much toxicity about him what's his fault ?
    He's right 💯 in very instances, firstly, for all who comments toxicity about him ( like driver bahiya etc ), first of all read his all tweets and information that he point about apna college team deeply ,
    You (students ) are Aman dhatarwal fan is not the reason ki tum uski koi buri cheez ko point out nhi kroge .
    Same on you 😳😳😳

    • @MN-gn7lt
      @MN-gn7lt 2 года назад +3

      Guys twitter pe jo accha kaam kiya hai striver ne woh daalo unko bhi toh pata chale ki ye jiska course shikhate hai ye bhandha uss chez ka GOD hai😎

    • @user-fz1yv4lq4d
      @user-fz1yv4lq4d 2 года назад

      Teri behen ko koi ese hi bolega to tujhe chalega kya

    • @user-fz1yv4lq4d
      @user-fz1yv4lq4d 2 года назад

      People are toxic because of his thoughts are toxic

    • @MN-gn7lt
      @MN-gn7lt 2 года назад +3

      @@user-fz1yv4lq4d haan chal abhi apne kaksha meh ja ke bheth ja

    • @user-fz1yv4lq4d
      @user-fz1yv4lq4d 2 года назад

      @@MN-gn7lt ab Jada ro mt

  • @funnyanimation888
    @funnyanimation888 Год назад

    It cleared almost all of the dought and got a very good intution .

  • @codingkrtehum..
    @codingkrtehum.. Месяц назад

    understood, really nice way of explanation . i got it in one shot.👍

  • @stith_pragya
    @stith_pragya Год назад +1

    Thank You So Much for this wonderful video............🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻

  • @simmi641
    @simmi641 Год назад

    Striver=huge love+respect❤

  • @dhruvsolanki4473
    @dhruvsolanki4473 7 месяцев назад +1

    Amazing explanation, thank you for teaching us.

  • @rishav144
    @rishav144 2 года назад +8

    thanks Striver for great playlist

  • @saibunny1253
    @saibunny1253 8 месяцев назад

    striver bhai today i understood prim's algorithm using ds priority queue to find minimum spanning tree thank you

  • @nishantbhardwaj9757
    @nishantbhardwaj9757 Год назад +1

    Your data structures and algorithms playlist is amazing sir tbh i had watched all your playlist and again tbh i had watched babbar bhaiyaa’s also , both of you are amazing no hate to anyone , just keep the good work going .

  • @raghavagrawal9240
    @raghavagrawal9240 2 года назад +2

    Waiting for the next videos of this series!

  • @shigoeditz7079
    @shigoeditz7079 Год назад +1

    Thankyou Striver for such a beautiful explanation ❤ and a Happy New Year ❤🎉

  • @VIVardhan5130
    @VIVardhan5130 Год назад

    You are still more than god for some people striver

  • @krishanpratap3286
    @krishanpratap3286 2 года назад +2

    Maja aa gaya bhayiya love your content

  • @sarangs722
    @sarangs722 2 года назад +31

    Apna College's content isn't that good. So, now they have resorted to attacking with playing the petty "women victim card".
    Striver, we love you bro. Your content is clearly better than that channel's content. Keep going! We are here with you.

    • @JohnWick-oj6bw
      @JohnWick-oj6bw 2 года назад

      They know, all the nalla berozgar are feminists.
      And will spread toxicity, so he xan continue fooling students.

  • @h108pranavshinde3
    @h108pranavshinde3 7 месяцев назад

    God bless you bro ! You are taking too much effort to teach. This shows your dedication and passion 🔥🔥✨✨

  • @tanishkumar5440
    @tanishkumar5440 2 года назад +10

    Mil gya fame , driver bhaiya appko . 😅

  • @UECAshutoshKumar
    @UECAshutoshKumar Год назад +1

    Thank you sir 😊

  • @sukhpreetsingh5200
    @sukhpreetsingh5200 2 года назад +1

    Understood and awesome as usual

  • @udaytewary3809
    @udaytewary3809 Год назад

    Understood bhaiya 🙏❤️

  • @varunakrishnani7688
    @varunakrishnani7688 Год назад

    Understood! :)
    Thank you bhaiya! 🙏🏻😊

  • @amitp277
    @amitp277 Год назад

    Awesome 👏👏
    this one is similar to Dijkstra's

  • @gauravlokwani8623
    @gauravlokwani8623 2 года назад +4

    Thank you so much for this video, could please also make the video on kruskal algorithm for this new playlist..??

  • @harshjoshi5888
    @harshjoshi5888 2 года назад +12

    Hello bhai want to tell you something serious .yeh jo aapke channel mein comments ho rhe hain unpe bilkul dhyan math Dena they are not college students they are so called jee neet aspirants who don't want to study for themselves but want themselves to be a saviour of their so called teachers .they are toxic fans of their teachers who don't want their students to think practically but let them to think only emotionally .
    Leave them aside we were with you and always .
    Please pin my comment because this is really serious

    • @JohnWick-oj6bw
      @JohnWick-oj6bw 2 года назад

      Most of them are arts student man

    • @harshjoshi5888
      @harshjoshi5888 2 года назад

      @@JohnWick-oj6bw not arts students bro they science students only and call themselves an aspirant yeh log poore saal bhaiya didi hi karte rehte hain main isliye yeh sab kh paa rha hoo kyuki do saal pehle main jis institute mein tha in online for jee coaching yeh sab vha aake teachers ko galiyan dete the ki tumhari toh fees itni jyada h vgrh

    • @harshjoshi5888
      @harshjoshi5888 2 года назад

      @@JohnWick-oj6bw believe me I have an experience about who is fooling us and who is giving an authentic education .

  • @siddharthdubey9389
    @siddharthdubey9389 2 года назад +1

    Why did you add (2,2,3) to the priority queue when 2 was already visited? (seek the video to 8:50)

    • @RituSharma-zp7xs
      @RituSharma-zp7xs 2 года назад

      Yeah same doubt, it shouldn't be added

    • @artifice_abhi
      @artifice_abhi Год назад

      @@RituSharma-zp7xs won't have any effect tho ... he did it by mistake

  • @abhishekudiya8638
    @abhishekudiya8638 2 года назад +3

    Firstly Striver your content is awesome and this graph series is top-notch ..can you tell us this series is completed or if more videos will be come in the future in this graph series and when will be new videos coming .

  • @muskanagrawal7428
    @muskanagrawal7428 5 месяцев назад

    14:10 sir, in vectoradj[ ] given in ques, inner vector should store int, not pair how does it work for it[0] or it[1] in code, as it should have been vector

  • @Rajat_maurya
    @Rajat_maurya 2 года назад +3

    Please make video on union find (DSU) questions... not able to solve leetcode ones

  • @ps123abc6
    @ps123abc6 2 месяца назад

    at 17:20 why pq.top() takes O[log(v)] time complexity , it takes O(1) constant time since it is on top of priority_queue ????????

    • @adityaborate6174
      @adityaborate6174 9 дней назад

      .top() is indeed O(1), .push() and .pop() takes O[log(v)]

  • @cinime
    @cinime 2 года назад +2

    Understood! Super awesome explanation as always, thank you very much!!

  • @its_adit
    @its_adit Год назад +1

    why adjnode=i[0] not i[1] at 13:49

    • @krishnakantupadhyay3053
      @krishnakantupadhyay3053 Год назад

      cause when adjacency list was made it was stored in that order ex : adj[node1] = {node 2, wt. b/w nodes}.
      But when using priority queue we want it sorted according to weight that's why in pq we push wt first then node.
      Hope it Helps!

  • @aniruddhadas1778
    @aniruddhadas1778 2 года назад +1

    @8:44 node 2 should not be included in the priority queue as node 2 was already visited

  • @hardikjain-brb
    @hardikjain-brb Год назад

    Lol the intuition was mix of prims and kruskal>!
    Prims would be 0-1 2-1 (2-4 or 2-3) then 4-3

  • @VarshaSingh-hi2sb
    @VarshaSingh-hi2sb 4 месяца назад +1

    I am not getting the time complexity outer while will be E and for inside ElogE for for loop and for pq.pop(); log E so it should be E( log E + ElogE) so it should be ElogE +E I am assuming this right ?? Or anything else?

  • @prakashnandan7337
    @prakashnandan7337 Год назад +1

    At 8:55 as 2 is already visited, (2,2,3) must not push into the pq

  • @sumitnagar8367
    @sumitnagar8367 5 месяцев назад +1

    what's the need of condition if(!vis[adjnode]) if we are already concern about if(vis[node]){
    continue;
    }

  • @itz_me_imraan02
    @itz_me_imraan02 Год назад

    Perfect as always ♥

  • @gangsta_coder_12
    @gangsta_coder_12 Год назад +1

    Understood 🔥🔥

  • @euvsielr
    @euvsielr 2 года назад

    I completely agree with you bhaiya.

  • @aayushojha3088
    @aayushojha3088 Год назад

    I think the adj nodes wala loop ,will run for 2E , ans no of adjnodes or neighbours in undirected graph is 2E

  • @ujjwalraj9837
    @ujjwalraj9837 Год назад +2

    It's demotivating how quickly he codes it up with such ease... like bro we get atleast 4-5 bugs everytime

  • @CodeMode9313
    @CodeMode9313 Год назад

    Habibi ek aur mast bideo banaye ho

  • @sanketh768
    @sanketh768 Год назад +2

    I think there's a mistake in TC calculation.
    getting the min element from minHeap which is peek or poll is O(1) and not O(E), at least in java
    Please correct me if i'm wrong

    • @YashSin2025
      @YashSin2025 Год назад

      Picking smallest elment is O(1) but he is removing it as well. so due to hipyification rearrangement of pq would take place resulting the time complexity of O(logE).

    • @sanketh768
      @sanketh768 Год назад +1

      @@YashSin2025 got it now, thanks for the clarification

    • @iamnoob7593
      @iamnoob7593 Год назад

      @@sanketh768 Tc is suppose to be ElogE + (E)2logE

  • @matmister1769
    @matmister1769 Год назад

    vector adj[]
    Can anyone explain to me how this data structure is working?
    it is an array of vectors of vectors.
    Not sure why a 3 level dagta structure is needed.

  • @amanbhagat1616
    @amanbhagat1616 6 месяцев назад +1

    I think time complexity is -
    E(log E + E Log E) =~ E^2 Log E ?
    [1]Outer while loop running E times at max (as explained in video)
    [2] Inside while pop from Heap (or Priority Queue) would take up Log E (as explained in video)
    [3] Iterating over neighbors and adding them to Priority Queue taking E log E (as explained in video)
    So, overall time complexity should be E^2 Log E ?
    isn't it?
    does anyone thinks the same?

  • @SurajSharma-z9p
    @SurajSharma-z9p 8 месяцев назад

    Why would 2,3,2 be picked before 2,4,2? If there's a clash in min value, FIFO should be applied right since it's a queue after all?

  • @mihirsaini592
    @mihirsaini592 2 года назад

    Thank you striver

  • @Stellar_7x
    @Stellar_7x 3 месяца назад

    UNDERSTOOD!!

  • @shikharshiromani2728
    @shikharshiromani2728 2 года назад +1

    Is it possible to add all the edges at once in priority queue, then pop them one by one (check if already visited, check if already in MST) marking the nodes visited as we pop from the priority queue and push it to MST?

    • @takeUforward
      @takeUforward  2 года назад +2

      noh, we will follow similar approach in kruskal, you will see how to deal with it

  • @shauryatomer1058
    @shauryatomer1058 4 месяца назад

    thanks for the great video

  • @surjendupal7576
    @surjendupal7576 2 года назад

    Sir asking off topic question.......
    What's your tech stack? Means which technology you are proficient?

  • @infinite9953
    @infinite9953 2 года назад +1

    Understood 🙌

  • @ACUCSPRADEEPB-up9ne
    @ACUCSPRADEEPB-up9ne 2 года назад +1

    Understood✌️

  • @mriduljain6809
    @mriduljain6809 Год назад

    Understood Bhaiya

  • @gamerglobe4839
    @gamerglobe4839 2 года назад

    is this approach also same like finding shortest distance from source to destination since we are adding distances into the sum variable?

  • @vaibhavmurarka5179
    @vaibhavmurarka5179 11 месяцев назад

    can't we use set in the same way like we used djikstra's won't it be more efficient since we will also erase the itrns which we won't need

  • @yasharthagarwal3937
    @yasharthagarwal3937 Год назад +1

    Hey Striver Why can't we use Dijkstra's Algo for finding mst? It also states the minimum cost to travel all the nodes . Prim's also states to find minimum cost while visiting all nodes. At any given point of time we can use both for single source or we can find minimum distance by changing the source node from both algo.

    • @virusnetic
      @virusnetic Год назад +2

      but in Dijkstra's Algo, we are finding all the path with minimum cost from a particular source to a particular destination node
      In the example used if the source is used the Dijkstra's Algo will return -> [0, 2, 1, 3, 2]
      this is not necessarily the mst we are seeking for (we don't need the sum but the minimum edges only). as there will be a edge b/w 2 and 4
      try dry run of the algo you will get it

    • @rishabhinc2936
      @rishabhinc2936 Год назад +3

      in djikstra it can consider more than n-1 edges

  • @protyaybanerjee5051
    @protyaybanerjee5051 Год назад +1

    Standing at node 3, why are adding node 2 in the PQ ? I think that's a mistake. It was already visited!

  • @parshchoradia9909
    @parshchoradia9909 Год назад

    Understood Sir!

  • @hrushi_borhade
    @hrushi_borhade Год назад

    Understood Striver!!

  • @adebisisheriff159
    @adebisisheriff159 11 месяцев назад

    Thanks striver!!!!

  • @ShivamYadav-xx6oc
    @ShivamYadav-xx6oc 2 года назад +4

    lage raho driver bhai😂😂

    • @sandeepsuman6381
      @sandeepsuman6381 2 года назад +5

      Has le , abhi baccha hai 2-3 saal baad yahi se padhega

    • @navneetsingh2274
      @navneetsingh2274 2 года назад

      @@sandeepsuman6381 naa bhaiii humm too apna college se pdenge

    • @justarandomguy6106
      @justarandomguy6106 Год назад

      @@navneetsingh2274 mujhe controversy ka to pta nhi kya hua , lekin apna college ka content comparable bhi nahi hai abhi striver se

  • @jaishriharivishnu
    @jaishriharivishnu 6 месяцев назад +2

    int spanningTree(int V, vector adj[])
    { // distance, node, parent
    priority_queuepq;
    // initially take node 0
    vectorvis(V); vis[0]=1;
    for(auto K:adj[0]){
    pq.push({K[1],K[0],0});
    }
    vectoredges; // weight, node , node
    // edges are the edges that will be in the MST
    while(!pq.empty()){
    auto cur=pq.top(); pq.pop();
    int curnode=cur[1];
    int parent=cur[2];
    int curdistance=cur[0];
    if(!vis[curnode]){
    vis[curnode]=1;
    edges.push_back(cur);
    for(auto K:adj[curnode]){
    int childnode=K[0];
    int childdistance=K[1];
    if(!vis[childnode]){
    pq.push({K[1],childnode,curnode});
    }
    }
    }
    }

    int answer=0;
    for(auto K:edges){
    answer+=K[0];
    }
    return answer;
    }
    code for GFG.... NOTE: this also include the all the edges of the MST :)

  • @mdyousufgazi4030
    @mdyousufgazi4030 Год назад

    what should i change to the code to get mst for example like this " {(0, 2), (1, 2), (2, 3), (3, 4)} "

  • @Learnprogramming-q7f
    @Learnprogramming-q7f 7 месяцев назад

    Thank you bhaiya

  • @abhijeetmishra3804
    @abhijeetmishra3804 Год назад

    understood bhaiya

  • @suhaasmohandos5869
    @suhaasmohandos5869 7 месяцев назад

    I am very confused when to use a visited array and when not to use visited array. And also confused when a node is considered to be visited?

    • @tanujaSangwan
      @tanujaSangwan 3 месяца назад +1

      Prim's Algorithm builds the Minimum Spanning Tree (MST) by adding the minimum weight edge that connects a node inside the MST to a node outside it.
      Visited Array in Prim's: The visited array is used to ensure that once a node is added to the MST, it is not considered again. This is because, in an MST, each node is included exactly once, and revisiting it would contradict the tree structure, potentially leading to cycles or incorrect results.
      Key Point: Once a node is part of the MST, all further edges leading to it are ignored (using the visited array). This is because in an MST, every node is connected by exactly one path, ensuring a tree structure.
      Dijkstra's Algorithm finds the shortest path from a source node to all other nodes.
      No Visited Array in Dijkstra's (Common Implementation): In Dijkstra's algorithm, we do not necessarily use a visited array in the traditional sense like in Prim's. Instead, nodes are revisited whenever a potentially shorter path to that node is found. The priority queue (min-heap) ensures that the shortest known path is processed first.
      Key Point: Nodes can be revisited in Dijkstra's algorithm because the algorithm continually checks if there is a shorter path to each node. The priority queue processes the shortest path available at any time, which may lead to revisiting a node if a shorter path is discovered.

  • @krishnavyaskondle5707
    @krishnavyaskondle5707 Год назад

    can we use this algorithm to find the shortest distance between two nodes

  • @hope-jh7bv
    @hope-jh7bv 7 месяцев назад

    understood💙

  • @priyanshvatsal9791
    @priyanshvatsal9791 Год назад

    Understood 😇

  • @LokeshSharma-hm5jz
    @LokeshSharma-hm5jz Год назад

    Understood, its getting TLE, i used set of unvisited nodes while helps me to break while loop but still getting TLE in coding ninja, Maybe kruskal will help me. Thanks

  • @23ritik
    @23ritik 2 года назад

    Sir make start array and strings series also please for interview purpose

  • @Now_I_am_all_fired_up
    @Now_I_am_all_fired_up 2 года назад

    Plz make vedion on :
    Bridges in a graph