Research Article
Finding the Shortest Path with Vertex Constraint over Large Graphs
| Input:. | | Output:. | | // Input: : an undirected weighted graph | | // : a vertex subset of | | // , : starting vertex and ending vertex respectively | | // Output: : the approximate shortest path between and | | // with vertexconstraint of | | 1: Let be a min priority queue with the entries in the form , sorted in the ascending order of | | , where is the shortest distance between and ; | | 2: ; | | 3: for each do | | 4: Enqueue an entry into ; | | 5: , ; | | 6: while do | | 7: Dequeue the first entry from ; | | 8: if then | | 9: continue; | | 10: else | | 11: , ; | | 12: for each do | | 13: Enqueue an entry into ; | | 14: ; | | 15: Traverse by preorder and let be a permutation corresponding to the order of | | vertices in preorder traversal on ; | | 16: Move the ending vertex to the end of to get ; | | 17: Generate the shortest path between and under a permutation ; | | 18: return ; |
|