Need help pleas in Digkstra algorithm

Hi every 1
Im new to java
I need help in these codes I got fist short distance from node 1 but it dose not read the rest of node it just stuck in the first node
Could some one help my in it pleas

import java.applet.*;
import java.awt.*;
import java.awt.event.*;


//declaring class

public class matrix extends Applet

{ //declaring the TextField



//declaring an array
int c[][]; // cost
int d[]; // distance
int i; // S Set on Nodes
int k;
int u;
int m = 99; // Infinity value
int v; // Node
boolean known[];

//declaring values of text field

private int w; // Text Field

public void init()

{



// event handler methods

known = new boolean[7];
d = new int[7]; // distance between Node

c =new int[7][7]; // Cost between nodes
c[1][1] = 0; c[2][1]= 5; c[3][1]= 1;
c[1][2]= 5; c[2][2]= 0; c[3][2]= 2;
c[1][3]= 1; c[2][3]= 2; c[3][3]= 0;
c[1][4]= 99; c[2][4]= 3; c[3][4]= 8;
c[1][5]= 99; c[2][5]= 99; c[3][5]= 1;
c[1][6]= 99; c[2][6]= 99; c[3][6]= 99;

c[4][1] = 99; c[5][1]= 99; c[6][1]= 99;
c[4][2]= 3; c[5][2]= 99; c[6][2]= 99;
c[4][3]= 8; c[5][3]= 1; c[6][3]= 99;
c[4][4]= 0; c[5][4]= 1; c[6][4]= 1;
c[4][5]= 1; c[5][5]= 0; c[6][5]= 5;
c[4][6]= 1; c[5][6]= 5; c[6][6]= 0;

}
public void paint(Graphics g) {


d[1]=c[1][1];
// for loop

for (int i=1; i<7; ++i) {
for (int k=2; k<7; ++k) {

d[k]=c[1][k];
// finding node which minimum ditance d[w] is minimum
if (!known[k] && d[k]<m) {
m =d[k] ;

w = k;
known[k]=true;

} // end if

// short path from 1 to k via w
else if (d[k] > d[k]+c[w][k])
d[k] = d[k] + c[w][k];



}

g.drawString("Step",100, 100 );
g.drawString("distance",200, 100 );
g.drawString(""+m,200, 150 );
g.drawString("1,"+w,100, 150 );

}



i = w;
for (int k=2; k<7; ++k) {
if (k ==2 || k==4 || k ==5);
d[k]=c[1][k];

// finding node which minimum ditance d[w] is minimum
if (!known[k] && d[k]<m) {
m= d[k];

u = k;
known[k]=true;

} // end if


// short path from 1 to k via w
else if (d[k] > d[k]+c[u][k])
d[k] = d[k] + c[u][k];




g.drawString(""+m,200, 200 );
g.drawString("1,3,"+u,100, 200 );


Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories