In the graph structure, the shortest path is used most often. There are two types of Shortest Path search algorithms: dijela algorithm (Dijkstra) and Floyd algorithm.
The implementation of the dijela algorithm (Dijkstra) is as follows:
The principle is to constantly find the current optimal solution:
Void main () {int V [Max] [Max] = {0, 8, 32, infinity, infinity, 12, 0, 16, 15, infinity, infinity, 29,0, infinity, 13, infinity, 21, infinity, 0}; bool sign [Max] = {false}; int d [Max]; for (INT I = 0; I <Max; I ++) {d [I] = V [0] [I];} int poineer [Max] = {0}; sign [0] = true; int min = 0; int K = 0; For (INT I = 1; I <Max; I ++) {min = infinity; For (Int J = 0; j <Max; j ++) {If (! Sign [J] & D [J] <min) {min = d [J]; k = J ;}} sign [k] = true; for (Int J = 0; j <Max; j ++) {If (! Sign [J] & min + V [k] [J] <D [J]) {poineer [J] = K; d [J] = min + V [k] [J] ;}}for (INT I = 0; I <Max; I ++) {cout <D [I] <";}cout <Endl; For (INT I = 0; I <Max; I ++) {cout <poineer [I] <"";}}
Shortest path algorithm-dijela algorithm (Dijkstra)