Cover Data Structures and Algorithms with Object-Oriented Design Patterns in Java
next up previous contents index

Data Structures for Dijkstra's Algorithm

The implementation of Dijkstra's algorithm described below uses the Entry structure declared in Program gif. Each Entry instance has three fields, known, distance, and predecessor, which correspond to the variables tex2html_wrap_inline70999, tex2html_wrap_inline71001, and tex2html_wrap_inline71003, respectively.

   program51376
Program: GraphAlgorithms Entry class.

In each pass of its operation, Dijkstra's algorithm selects from the set of vertices for which the shortest-path is not yet known the one with the smallest tentative distance. Therefore, we use a priority queue to represent this set of vertices.

The priority assigned to a vertex is its tentative distance. The class Association class introduced in Program gif is used to associate a priority with a given vertex instance.


next up previous contents index

Bruno Copyright © 1998 by Bruno R. Preiss, P.Eng. All rights reserved.