Hallo zusammen !
Also, ich muss rekursiv bestimmen wie viel Moeglichkeiten gibt es das Haus vom Nikolaus zu zeichnen.
* 2
/ \
1---3
| X |
0---4
Also die Aufgabe lautet weiter:
dazu gibt es die Adjacencymatrix
Sorry, dass es so lang ist.
Also ich kann nicht verstehen wie macht man die Beziehung zwischen edges[][] und die position (also pos) ..bzw. Knoten (0 bis 4) wenn das rekursiv sein muss? Und wie funktioniert die Adjacencymatrix eigentlich. Ich hab so viel gelesen schon im Internet darueber, aber die beziehung kann ich nickt verstehen. Und wie soll das denn rekursiv laufen?
Ich entschuldige mich noch mal, ich weiss, dass ich schon zu viel geschrieben hat. Wenn jemand mir helfen koennte, waere ich sehr dankbar sein. Schon zwei tage kann ich nicht die loesung finden..
Also, ich muss rekursiv bestimmen wie viel Moeglichkeiten gibt es das Haus vom Nikolaus zu zeichnen.
* 2
/ \
1---3
| X |
0---4
Also die Aufgabe lautet weiter:
Mithilfe eines zweidimensionalen Arrays int[][] edges kann man sich leicht
merken, welche der Punkte 0 bis 4 durch eine Linie verbunden sind. Wenn
gilt edges[j] != 0 bzw. edges[j] != 0, gibt es eine Linie zwischen
den Punkten i und j, sonst nicht. Der folgende Algorithmus versucht, das
Haus vom Nikolaus zu zeichnen und dabei jede gezeichnete Linie aus edges zu
entfernen.
dazu gibt es die Adjacencymatrix
Java:
public static int[][] edges = {{ 0, 1, 0, 1, 1 },
{ 1, 0, 1, 1, 1 },
{ 0, 1, 0, 1, 0 },
{ 1, 1, 1, 0, 1 },
{ 1, 1, 0, 1, 0 }};
• Implementieren Sie die vorgegebene Methode
public static int countSolutions(int pos, int linesLeft),
die als Parameter pos die Nummer des Punktes ubergeben bekommt, an dem man sich
beim Zeichnen gerade befindet sowie den Parameter linesLeft, der angibt, wieviele
Linien noch zu zeichnen sind.
Hinweis:
– Uberlegen Sie zun ̈chst, was es bedeutet, wenn keine Linie mehr zu zeichnen ist und geben Sie ein entsprechendes Ergebnis zur ̈ck.
– Falls noch Linien zu zeichnen und Sie am Punkt i angekommen sind, finden Sie
heraus, zu welchen anderen Punkten j es noch Linien gibt. Gibt es keine solche
Linie mehr, geben Sie ein entsprechendes Ergebnis zur ̈ck.
F ̈r jede m ̈gliche Linie fahren Sie rekursiv mit dem Aufsummieren der M ̈glich-
keiten fort. Denken Sie daran, vor dem rekursiven Aufruf die Linie durch ed-
ges[j] = edges[j] = 0 zu entfernen und nach dem Aufruf analog dazu
wieder zu setzen.
• Implementieren Sie nun die vorgegebene Methode
public static void main(String[] args).
Z ̈hlen Sie f ̈r jeden der Punkte, wieviele M ̈glichkeiten es gibt, von diesem Punkt aus
das Haus zu zeichnen und geben Sie anschliessend die Summe aus.
Sorry, dass es so lang ist.
Also ich kann nicht verstehen wie macht man die Beziehung zwischen edges[][] und die position (also pos) ..bzw. Knoten (0 bis 4) wenn das rekursiv sein muss? Und wie funktioniert die Adjacencymatrix eigentlich. Ich hab so viel gelesen schon im Internet darueber, aber die beziehung kann ich nickt verstehen. Und wie soll das denn rekursiv laufen?
Ich entschuldige mich noch mal, ich weiss, dass ich schon zu viel geschrieben hat. Wenn jemand mir helfen koennte, waere ich sehr dankbar sein. Schon zwei tage kann ich nicht die loesung finden..