Question
There is an alternative way of implementing Dijkstras algorithm that avoids use of the locator pattern but increases the space used for the priority queue,
There is an alternative way of implementing Dijkstras algorithm that avoids use of the locator pattern but increases the space used for the priority queue, Q, from O(n) to O(m) for a weighted graph, G, with n vertices and m edges. The main
idea of this approach is simply to insert a new key-value pair, (D[v], v), each time
the D[v] value for a vertex, v, changes, without ever removing the old key-value pair for v. This approach still works, even with multiple copies of each vertex being stored in Q, since the first copy of a vertex that is removed from Q is the copy with the smallest key. Describe the other changes that would be needed to the description of Dijsktras algorithm for this approach to work. Also, what is the running time of Dijkstras algorithm in this approach if we implement the priority queue, Q, with a heap?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started