category: literaturenote citekey: dijkstranotetwoproblemsconnexion1959 title: A note on two problems in connexion with graphs authors: "Dijkstra, E. W." year: 1959 date: 1959-12-01 1959/12/01 doi: 10.1007/BF01386390 publication: Numerische Mathematik url: "https://link.springer.com/article/10.1007/BF01386390" zotero_key: XXF8IPJQ zotero_storage: DWGPWQUP collections: magistritöö folder: 001_artiklid firstAuthor: "Dijkstra, E. W."
By
We consider n points (nodes), some or all pairs of which are connected by a branch; the length of each branch is given. We restrict ourselves to the case where at least one path exists between any two nodes. We now consider two problems.
Problem 1. Constrnct the tree of minimum total length between the n nodes. (A tree is a graph with one and only one path between every two nodes.)
In the course of the construction that we present here, the branches are subdivided into three sets:
The nodes are subdivided into two sets:
We start the construction by choosing an arbitrary node as the only member of set A, and by placing all branches that end in this node in set II. To start with, set I is empty. From then onwards we perform the following two steps repeatedly.
We then return to step I and repeat the process until sets II and ]3 are empty. The branches in set I form the tree required.
The solution given here is to be preferred to the solution given by J.B. KRUSKAL [1] and those given by H. LOBERMAN and A. WEINBERGER [2]. In their solutions all the -- possibly 89 -- branches are first of all sorted according to length. Even if the length of the branches is a computable function of the node coordinates, their methods demand that data for all branches are stored simultaneously. Our method only requires the simultaneous storing of
Numbs. Nath. Bd. 4. i9
the data for at most n branches, viz. the branches in sets I and II and the branch under consideration in step 2.
Problem 2. Find the path of minimum total length between two given nodes P and Q.
We use the fact that, if R is a node on the minimal path from P to Q, knowledge of the latter implies the knowledge of the minimal path from P to R. In the solution presented, the minimal paths from P to the other nodes are constructed in order of increasing length until Q is reached.
In the course of the solution the nodes are subdivided into three sets:
A. the nodes for which the path of minimum length from P is known; nodes will be added to this set in order of increasing minimum path length from node P;
B. the nodes from which the next node to be added to set A will be selected; this set comprises all those nodes that are connected to at least one node of set A but do not yet belong to A themselves;
C. the remaining nodes.
The branches are also subdivided into three sets:
To start with, all nodes are in set C and all branches are in set III. We now transfer node P to set A and from then onwards repeatedly perform the following steps.
is the actual minimum distance, for the branches of set II it is only the minimum thus far obtained.
The solution given above is to be preferred to the solution by L. R. FORD [3J as described by C. BERGE [4~, for, irrespective of the number of branches, we need not store the data for all branches simultaneously but only those for the branches in sets I and II, and this number is always less than n. Furthermore, the amount of work to be done seems to be considerably less.
Mathematisch Centrum 2e Boerhaavestraat 49 Amsterdam-O
(Received June 11, 19.59)