Text this: A O(|E|) Time Shortest Path Algorithm for Non-Negative Weighted Undirected Graphs