I'm doing some reading about shortest path algorithm implementations and have been running into over and over that implementing Dijkstra's Algorithm with a Double-Bucket data structure is a good implementation.
However I cannot seem to find what a double-bucket implementation actually means, the wikipedia article on it is kind of vague. From what I've seen it is similar to a hash table/map. I never heard of this before in my data structures or algorithm classes.
The particular paper I was reading was this,
Cherkassky, B. V., Goldberg, A. V., & Radzik, T. (1996). Shortest paths algorithms: Theory and experimental evaluation. Mathematical Programming,73(2), 129-174.