
Es handelt sich um einen gerichteten, ungewichteten Graphen.
| M | F | H | P | L | |
|---|---|---|---|---|---|
| M | 0 | 1 | 0 | 0 | 0 |
| F | 1 | 0 | 1 | 1 | 0 |
| H | 1 | 0 | 0 | 0 | 0 |
| P | 0 | 0 | 0 | 0 | 1 |
| L | 0 | 0 | 0 | 0 | 0 |
Der Graph ist nicht stark zusammenhängend, da von London aus keine Kanten ausgehen - die Zeile in der Matrix enthält nur 0 als Eintragungen. Von London aus ist damit kein anderer Knoten erreichbar. Er ist schwach zusammenhängend, da in einem ungerichteten Graphen jeder Knoten von jedem anderen Knoten erreicht werden kann. In der Matrix gibt es in jeder Spalte mindestens eine 1, d.h. jeder Knoten kann von einem anderen erreicht werden.
| M | F | H | P | L | |
|---|---|---|---|---|---|
| M | 0 | 1 | 0 | 0 | 0 |
| F | 1 | 0 | 1 | 1 | 0 |
| H | 1 | 0 | 0 | 0 | 0 |
| P | 0 | 0 | 0 | 0 | 1 |
| L | 0 | 0 | 0 | 0 | 0 |
Die Kanten zu den Zielen stehen in der Matrix in einer Zeile.
| M | F | H | P | L | |
|---|---|---|---|---|---|
| M | 0 | 1 | 0 | 0 | 0 |
| F | 1 | 0 | 1 | 1 | 0 |
| H | 1 | 0 | 0 | 0 | 0 |
| P | 0 | 0 | 0 | 0 | 1 |
| L | 0 | 0 | 0 | 0 | 0 |
Die Kanten von den Startorten stehen in der Matrix in einer Spalte.
private String[] knoten = {"M","F","H","P","L"};
private int[][] kanten = {
{0,1,0,0,0},
{1,0,1,1,0},
{1,0,0,0,0},
{0,0,0,0,1},
{0,0,0,0,0}
};
kanten[start][0]
kanten[start][1]
kanten[start][2]
kanten[start][3]
kanten[start][4]
kanten[0][ziel] kanten[1][ziel] kanten[2][ziel] kanten[3][ziel] kanten[4][ziel]
public void printKantenZiel(int start){
for (int ziel=0;ziel<knoten.length;ziel++){
print(kanten[start][ziel]);
}
println();
}
public void printKantenStart(int ziel){
for (int start=0;start<knoten.length;start++){
print(kanten[start][ziel]);
}
println();
}
public void printKantenZiel(int start){
print("Kanten gehen von ");
print(knoten[start]);
print(" nach ");
for (int ziel=0;ziel<knoten.length;ziel++){
if (kanten[start][ziel]>0){
print(knoten[ziel]);
print(", ");
}
}
println();
}
public void printKantenStart(int ziel){
print("Kanten enden in ");
print(knoten[ziel]);
print(" aus ");
for (int start=0;start<knoten.length;start++){
if (kanten[start][ziel]>0){
print(knoten[start]);
print(", ");
}
}
println();
}