Graphda DFS Dolaşma
public class Main {
/**
* @param args the command line arguments
*/
static char[] dugumler = {'A','B','C','D'};
static int[] gidildimi = new int[4];
static int [][] komsuluk = new int[4][4];
public static void main(String[] args) {
// TODO code application logic here
komsuluk[0][0]=0; komsuluk[0][1]=0; komsuluk[0][2]=0; komsuluk[0][3]=1;
komsuluk[1][0]=0; komsuluk[1][1]=0; komsuluk[1][2]=1; komsuluk[1][3]=1;
komsuluk[2][0]=0; komsuluk[2][1]=1; komsuluk[2][2]=0; komsuluk[2][3]=1;
komsuluk[3][0]=1; komsuluk[3][1]=1; komsuluk[3][2]=1; komsuluk[3][3]=0;
for(int dugum = 0; dugum<4;dugum++)
{
if(gidildimi[dugum]==0)
dolas(dugum);
}
}
public static void dolas(int dugum)
{
gidildimi[dugum]=1;
System.out.println(dugum+". Gidilmiş dugum= "+dugumler[dugum]);
for(int i =0; i<4;i++)
{
if(komsuluk[dugum][i]!=0 && gidildimi[i]==0)
dolas(i);
}
}
}
/**
* @param args the command line arguments
*/
static char[] dugumler = {'A','B','C','D'};
static int[] gidildimi = new int[4];
static int [][] komsuluk = new int[4][4];
public static void main(String[] args) {
// TODO code application logic here
komsuluk[0][0]=0; komsuluk[0][1]=0; komsuluk[0][2]=0; komsuluk[0][3]=1;
komsuluk[1][0]=0; komsuluk[1][1]=0; komsuluk[1][2]=1; komsuluk[1][3]=1;
komsuluk[2][0]=0; komsuluk[2][1]=1; komsuluk[2][2]=0; komsuluk[2][3]=1;
komsuluk[3][0]=1; komsuluk[3][1]=1; komsuluk[3][2]=1; komsuluk[3][3]=0;
for(int dugum = 0; dugum<4;dugum++)
{
if(gidildimi[dugum]==0)
dolas(dugum);
}
}
public static void dolas(int dugum)
{
gidildimi[dugum]=1;
System.out.println(dugum+". Gidilmiş dugum= "+dugumler[dugum]);
for(int i =0; i<4;i++)
{
if(komsuluk[dugum][i]!=0 && gidildimi[i]==0)
dolas(i);
}
}
}
Yorumlar
Yorum Gönder