G-32. Dijkstra's Algorithm - Using Priority Queue - C++ and Java - Part 1

Поделиться
HTML-код
  • Опубликовано: 15 окт 2024
  • GfG-Problem Link: bit.ly/3KeZZ7j
    C++/Java/Codes and Notes Link: takeuforward.o...
    DP Series: • Striver's Dynamic Prog...
    SDE Sheet: takeuforward.o...
    Check out our Website for curated resources:
    Our Second Channel: / @striver_79
    In case you are thinking to buy courses, please check below:
    Code "takeuforward" for 15% off at GFG: practice.geeks...
    Code "takeuforward" for 20% off on sys-design: get.interviewr...?_aff=takeuforward
    Crypto, I use the Wazirx app: wazirx.com/inv...
    Take 750 rs free Amazon Stock from me: indmoney.oneli...
    Earn 100 rs by making a Grow Account for investing: app.groww.in/v...
    Linkedin/Instagram/Telegram: linktr.ee/take...
    ---------------------------------------------------------------------------------------------------------------------------

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

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

    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

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

      can you tell me what is the use of this priority_queuepq ??
      and why did you used this vector ??

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

      @@sdexstarlord in C++ the default priority queue is max heap...the syntax used above is for creating min-heap.

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

      understood (Y) (Y)
      ....u forgot to pin this :p

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

      Why dont you use visited array?

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

      understood

  • @awesome_latest_virals6098
    @awesome_latest_virals6098 Год назад +73

    15:26 instead of assigning value using loop , we can just write vector dist ( V , INT_MAX);

    • @Cools74
      @Cools74 5 месяцев назад +6

      Both are same time complexity:)

    • @priyanshkumar17
      @priyanshkumar17 4 месяца назад +2

      yes, for more compactness of code, we can write :)

    • @princenagar1686
      @princenagar1686 3 месяца назад +2

      There is a problem in that is when whe check ( currentNodeDistance + distance_till_now < current NodeDistance then Assignment new shortest distance) in this line if we sum in INT_MAX with some positive value then it will become NEGATIVE and thus evaluates as Small instead of Big.

  • @ideepakpandey
    @ideepakpandey 2 года назад +116

    Wow, 3 videos on Dijkstra. We will not find such detailed videos even in expensive premium courses.

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

      It will be more than 3, around 10. Including problems 🫡 Give me a day or two. All will be out.

    • @ideepakpandey
      @ideepakpandey 2 года назад +20

      @@takeUforward great🔥🙌. You are literally god for those students like me who cannot afford premium courses.

    • @sharathkumar8338
      @sharathkumar8338 2 года назад +15

      @@ideepakpandey even premium courses are not this worth. personal experience.

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

      @take u forward That's our striver bhaiya

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

    Ahh Finally! Here it goes ... Happy to see you back after many days ,was waiting for the new video graph playlist. Thanks a lot for your immense efforts Striver.
    Good to see you in a new look! Virat Kohli of DSA! 😀

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

    Learning Dijkshtra algo for the first time... And understand it in the one watch was like unbelievable.. #striver op

  • @shivyanshgarg2641
    @shivyanshgarg2641 8 месяцев назад +17

    i like how i can write the code myself after being 5 - 6 mins in the video.

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

    Thank you!
    I implemented it on my own and it worked without storing the distance on the priority queue. I only stored the nodes themselves. I also used a Pair class to store (dest,weight)

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

    I have already solved more than 15 problems on Dijextra but i can't resist myself to watch whole video.

  • @1qwertyuiop1000
    @1qwertyuiop1000 Год назад +2

    One suggestion in java code.. Instead of doing 2 operations I.E. peek() and remove() at line number 81,82& 83, we can do one operation pop().. Just an FYI for other java codes... Happy coding.. 👍

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

    Habibi ye bhi kamal video banti ... bahut accha bahut accha

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

    thank you for explaining the stuff so well. Every other youtuber I have watched didnt help much but u explain the concept so well and you do the code,

  • @AmanKumar-xw5bs
    @AmanKumar-xw5bs 5 месяцев назад +2

    Good explanation BUT Dijkstras algo is somewhat similar to this but little different, In this video you are visiting already visited vertices again which is just unncessary(as there are no negative edge cycles). Instead you can just make a visited array and don't visited vertices those are marked visited. Thats how the actual Dijkstras algorithm works.

  • @harikareddy-o4f
    @harikareddy-o4f 7 месяцев назад

    Striver bhaiya cant thank you enough...heard the concept and coded it on one go all credits to you🙏

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

    In this implementation it was extremely difficult to figure out the complexity.
    When we use a visited array, it become clear that a node may be queued multiple times but its neighbors will only be processed once.
    Because the first occurrence of duplicate node in the queue will have the lightest path and mark the node as visited. Eliminating the need for redundancies to be processed.

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

    Why the priority queue has been initialized with pair? we can simply take 2-d vector in the pq

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

    Can someone explain ..initialization of priority queue ...first line in the code...why use greater...??

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

      PQ by default works as max heap, with that initialisation it works as min heap

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

    This series is far better than any of the netflix original ones

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

    IMP: when to apply -> when we have weighted undirected graph , TC -> ElogV as at max our heap has V elements

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

    loving this playlist 3000❣

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

    Jai Dijkstra's Algorithm 🙇🏼🙏🏻

  • @Xp-Sam
    @Xp-Sam 8 месяцев назад +2

    Please answer my question
    I have read at many places that, dijkstra cannot work for negative edge weights
    but I tested this algorithm for many negative edge directed graphs, and it is working fine
    Still I am not able to find any example of directed graph with negative edge weight where this will fail
    vector dijkstra(int V, vector adj[], int S)
    {
    vector distance(V, 1e9);
    distance[S] = 0;
    priority_queue pq;
    pq.push({0, S});
    while(!pq.empty()){
    auto p = pq.top();pq.pop();
    int node = p.second;
    int dist = p.first;
    for(auto &x : adj[node]){
    int newDist = dist + x[1];
    if(newDist < distance[x[0]]){
    pq.push({newDist, x[0]});
    distance[x[0]] = newDist;
    }
    }
    }
    return distance;
    }
    , so why its written everywhere that it wont work for negative edge weight graph
    Either the above is not the actual dijkstra code, or they are wrong

    • @mewerchewer7503
      @mewerchewer7503 4 месяца назад +1

      There are many variants of Dijkstra. This variant allows for re-entrance of a node which allows for possibilities of further relaxation which is what happens in the case of negative edge weights but has TC of exponential (Goes from being a greedy approach to almost search the entire edge space multiple times), which often leads to TLE in contests or some harder problems. Besides, if a problem allows for negative edge weights, then there could be a possibility of a negative cycle in one of the test cases, where Dijkstra will simply fail. That is why, nobody uses Dijkstra if the question mentions the negative edge weights (unless the constraints of the graph are extremely small) and thus, most codes have implementation allowing for processing of node at maximum of one time (then it would be marked as processed or visited)

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

      @@mewerchewer7503 does that(the variant which fails for negative edges) use visited array or something like that?

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

    what is the need of taking priority queue as in pair , i think there is no need of pair , we can simply take int

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

    striver bhai...dadhi thodi gahri(deep) katt gayi hai side se...😅...this video is greattt.

  • @SushmithaSathyanarayanan-u4l
    @SushmithaSathyanarayanan-u4l 5 месяцев назад

    This Dijkstra's algorithm is similar to Shortest Path in Undirected Graph with Unit Weights(previous video), only difference is that we don't keep track of the distance in the queue, rather we take it from distance array.I wonder if this makes a difference in the algorithm

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

    thanku striver .....again i have started this series from where i have stoped due to some reasons ,,,,,i'm sure this time i will complete this

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

    understood, we are so lucky to have u striver

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

    I guess if you will not check that the if dis != dist[node] we do not have to process this node as it is already processed. Because there can be same nodes with different distance in priority queue.
    The answer is still corrects, but i guess with your code it might lee to a worst of V.E

  • @muskanagrawal7428
    @muskanagrawal7428 2 месяца назад +1

    16:30 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

  • @rookiedrummer6838
    @rookiedrummer6838 24 дня назад

    Thanks the tutorial is awesome.
    Line number 18 should be pq.push({s,0}) ??

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

    love you man I will watch every second!!! love you for the dedication and series you have contributed for the community

  • @SonuKumar-ed2bo
    @SonuKumar-ed2bo Год назад +1

    17:20 We need to put the node in queue for same distanse too. So we need to put a equality sign over there

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

    bro this is the exact thing i was searching today

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

    So Dijkstra is basically doing level order traversal. But this time the level is represented by the distance to start node? Hence the use of a priority queue?

  • @venkat.sairam
    @venkat.sairam 10 месяцев назад +6

    🎯 Key Takeaways for quick navigation:
    00:02 📚 *Introduction to Dijkstra's Algorithm*
    - Dijkstra's Algorithm is crucial for solving shortest path problems.
    - It starts from a source node and finds the shortest distances to all other nodes.
    02:35 📖 *Implementation Methods*
    - Dijkstra's Algorithm can be implemented using Priority Queue, Set, or Queue data structures.
    - Priority Queue and Set are more efficient, with Set being the fastest.
    03:56 🚀 *Importance of Watching All Videos*
    - Emphasizes the importance of watching all videos to grasp the concept thoroughly.
    - Mentions that problem-solving will follow once the concept is clear.
    04:09 📊 *Representing the Graph*
    - Explains how to represent a graph using an adjacency list with pairs (node, weight).
    - Provides an example of storing adjacency information.
    06:04 🌐 *Initial Configuration*
    - Describes the initial setup, including the minimum heap data structure and a distance array.
    - Initializes the source node with a distance of 0.
    06:19 ⏩ *Iteration Process*
    - Explains the iteration process, similar to BFS, where nodes are processed in order of minimum distance.
    - Highlights the importance of discovering shorter distances during the iteration.
    11:17 🧐 *Handling Adjacent Nodes*
    - Details how to handle adjacent nodes and update their distances.
    - Demonstrates the process of selecting the best path to each adjacent node.
    18:03 ❌ *Limitation: Negative Weight Cycles*
    - Discusses the limitation of Dijkstra's Algorithm when dealing with negative weight edges or cycles.
    - Explains why negative weights can lead to an infinite loop.
    21:02 ⏰ *Time Complexity*
    - Mentions the time complexity of Dijkstra's Algorithm as O(E log V), where E is the number of edges and V is the number of nodes.
    - Teases upcoming explanations about priority queues and set data structures.
    Made with HARPA AI

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

    Understood. In fact, I was able to solve leetCode 1514. Path with Maximum Probability without assistance after seeing this video.

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

      Thanks bro for telling, I also tried and solution accepted. 👍🏻

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

    this stuff is really code . i solved qustn on leetcode based is topic all by myself in 40 min.

  • @GopiPusuluri-t4b
    @GopiPusuluri-t4b 3 месяца назад

    it is better to insert in distance array when we pop out from queue, because queue already stored minimum distance with node in front

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

    I have seen some people are also using a processed array to track which nodes are processed why you are not doing so...?

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

      the logic still is the same, let me know if you find some better complexity, thanks.

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

    @takeUforward Do we need a visited array for Dijikstras algo? On what basis is it be decided if we need a visited array for any type of traversal including BFS/DFS?

  • @VijayRavuru-ur5kv
    @VijayRavuru-ur5kv 5 месяцев назад

    Could you please provide sample inputs for every problem its really painstaking to create a request

  • @TarunKumar-nc8dh
    @TarunKumar-nc8dh Месяц назад

    since we are not using visited array will this work on graph with -ve edge weights but no -ve cycle?

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

    can anyone say what is the need for this algorithm because we already found the shortest path in previous lectures of striver??????

  • @Nikhil-Tomar
    @Nikhil-Tomar Месяц назад

    I think some explanations should be required in this video, First is in normal algorithm we had to keep marked nodes,

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

    Undestood BHAIYA!!
    thanks alot

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

    U r doing a great job man . Salute to you ..

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

    understood. Please make playlist on bit masking and bit manipulation

  • @A52VarshaSanga-pr7km
    @A52VarshaSanga-pr7km 3 месяца назад

    Thank you so much ..your videos give me hope that I can do better !!

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

    There is a video number 28 we do the same algorithm I don't know why time complexity is better here because in that video 28 we did the shortest path from SRC with unit weight but weight is not matter here we are just adding the weight so what's the difference between exactly this algorithm or number 28 video alogrithm we exactly doing the same think

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

    what is the need of taking heap ,cant we just go to neighbour node everytime using adjancency list and check for the distance condition whether it is greater or lower it would then automatically cover all the nodes?

  • @KunalRajput-r2q5m
    @KunalRajput-r2q5m 23 дня назад

    Why we are using PriorityQueue of , if we can find shortest path using PriorityQueue of only ??

    • @joshua_dlima
      @joshua_dlima 12 дней назад

      distance is what helps us pick the next optimal node to be explored

  • @harshjain1531
    @harshjain1531 Месяц назад

    Won't this algorithm work for -ve weight edges and only fail in case of cycles.

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

    half way done !
    wont stop

  • @PriyaJain-yd7ni
    @PriyaJain-yd7ni 6 месяцев назад

    Dijkstra's works on negative weighs. It only has problem with negative weight cycles.

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

    can someone explain the priority queue declaration part in java I don't understand the ((x,y) -> x.distance - y.distance ).

  • @prabhakaran5542
    @prabhakaran5542 4 дня назад +1

    Understood ❤

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

    In vid 28 you solved using bfs using queue is it related to dijkstra algo.???

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

    by dijkstra can directed graph with negative edge be solved .? in this video undirected graph is used. please anyone answer

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

    if i store the pq as ({node , wieght}) would there be any issue , it works fine on gfg , rest understood

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

      watch the third video of dijksta, you will know why it worked

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

      @@takeUforward han bhaiya dekhaa 😂 🤣 u r a truee mentor... 36th se jo questions hai usme aur clear ho gaya

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

    Understood.
    JAVA Code with Pair Class :
    class Pair{
    int distance;
    int node;
    Pair(int distance,int node){
    this.distance=distance;
    this.node=node;
    }
    }
    class Solution
    {
    //Function to find the shortest distance of all the vertices
    //from the source vertex S.
    static int[] dijkstra(int V, ArrayList adj, int S)
    {
    // Write your code here
    PriorityQueue pq=new PriorityQueue((x,y)->x.distance-y.distance);
    int dist[]=new int[V];
    for(int i=0;i

    • @Abhay-vk9uq
      @Abhay-vk9uq Год назад

      Do you know what "(x,y)->x.distance-y.distance" in the line " PriorityQueue pq=new PriorityQueue((x,y)->x.distance-y.distance);" is doing???????

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

      @@Abhay-vk9uq We are overriding the comparator for PriorityQueue so that it will always keep Pair with the shortest distance at the top
      you have to know the lambda function and how to write own comparator for our use

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

      No need for pair in the priority queue. Just add the node itself. We can retrieve the distance from the distance array

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

    You are a Masterpeice!!

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

    Thank you very much. You are a genius.

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

    excellent explanation. Lucky to find your channel.❤

  • @23cash86
    @23cash86 Год назад

    11:51 10,5 will also be in min-heap of d,n

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

    For those who don't understand that why he take 1e9 instead of INT_MAX is because when you add something in INT_MAX then it become negative. So in line 29 of this c++ code , this will give you incorrect results.

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

    understand Thanks a lot for your immense efforts Striver.

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

    are questions from this graph series after its completed enough

  • @kaichang8186
    @kaichang8186 Месяц назад

    understood, thanks for the great video

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

    Is bellman ford applicable to negative weight graph?

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

    can you tell me whats the diffrence between this and video 29 is it the same?

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

    You are hero for us

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

    i think we do not need the weights in the pair as they can be accessed from the dist[node] directly. we can just put the node is the pq whenever we get a dist[node] < previous value of dist[node] and its so obvious that the new node that has been inserted into the priority queue is because of the change in the distance will be due to that node only

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

      I also got the same doubt and I implemented Dijktra's algo using Queue which stores only adjacent nodes. It worked fine. No need to use priority queue also.
      The reason behind using priority queue is that, we want to order the nodes based on distance.. but here not storing distance and whenever you encounter a particular node we are getting distance from distance array. So I feel an algorithm using Queue works. I am not getting why we need 3 algorithms?

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

      And I think the reason behind storing the distances is that to avoid traversing the multiple paths. If you store the distance in the priority queue always we get the shortest distance first and then we traverse in that path. Otherwise we could have gone in the longest path and after that we have to update each and every node to get the shortest path. If you get the shortest path first we can avoid at most longest paths.

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

      Yes I did the same and it worked out. I think hes doing it just for clarity. You just need to store nodes only; you can get distance in the distance array since it will always be updated before we add the node to the queue

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

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

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

    Superb explanation

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

    Can you please tell how much videos are left for this series?

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

      You can check A2Z sheet, we will cover all of them in the graphs section

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

      @@takeUforward time? Tb tk pura upload ho jaayaga

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

      @@harshdasila6680 Trying bro asap, kyu ki office rehta hai na.

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

      @@takeUforward yes bro i understand ❤️

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

    1 silly question, if you have observed striver has put distance first in priority_queue due to ease of sorting as the values are sorted based on first value, but I put distance second, and wrote a comparison function from there I observed that if i return bool operator()(pii a, pii b) {
    return a.second < b.second;
    } its giving me TLE, isn't the first value should be smaller that second when implementing min_heap, if i return opposite, its running fine, anyone has idea about it?

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

    I am lost. Why you are conisdering node value to poll from PQ instead of distance?

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

      May you please elaborate more on your question? I didn't quite understand it.

  • @abhishekagarwal2522
    @abhishekagarwal2522 2 месяца назад +14

    That is not exactly Dijkshtra's algorithm. Here you are reprocessing the nodes by putting them into queue again. The algorithm you gave will actually work for negative edges. It can't handle negative loop weights. Also, this is against the ideas of greedy algorithm, that once you find the minimum/maximum for a path, you don't revisit it. This algorithm you've given can be seen as an improved version of Belmann Ford with the complexity bigger than ELOGV

    • @silver_shades4971
      @silver_shades4971 2 месяца назад +1

      Yeah same observation

    • @aysheri8321
      @aysheri8321 Месяц назад

      hey can you give the exact implementation of dijkstra. will the priority queue approach with modification work?

    • @helloworld9118
      @helloworld9118 Месяц назад

      This can also be done by taking normal queue right?
      As he did in G-28 video

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

    hi striver, what is shortest path faster algorithm? SPFA? is it similar to dijkstra?

  • @Raj-yr3vz
    @Raj-yr3vz Год назад

    is it applicable for directed graph?

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

    will there be videos on union find???? Pls reply...

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

    Understood Sir, Thank you very much

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

    Why dont we consider visited node here?

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

    Amazing explanation. Thanks Bhaiya

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

    Understood Bhaiya😍😍

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

    why don't we just use a queue, I mean what's the benefit of using a priority queue anyway?

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

    Is there any difference if we use queue at place of priority_queue

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

    Thankyou sir understood🙇‍♂️🙏❤

  • @AYUSHKUMAR-xj4wc
    @AYUSHKUMAR-xj4wc Год назад

    Awesome Explanation 👍👌

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

    Will Dijkstra's Algo work with negative weights in a DIRECTED graph?

  • @NavyasriThalluri
    @NavyasriThalluri Месяц назад

    please do heap series🙏🙏🙏

  • @user-zn3be9ik1x
    @user-zn3be9ik1x Год назад +1

    I am so so happy finally i understood this algorithm thankyou ☺

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

    You are legend !

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

    Thank you sir 😊

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

    Good teaching

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

    I am guessing Video 28 was Dijkstra with Queue?

  • @amansharma4358
    @amansharma4358 10 месяцев назад

    Why did we use min-heap instead of a simple Queue?

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

    understood brother.❤

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

    understood,great explanation

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

    Great continue this series

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

    Love and Respect!