Java - Distanzmatrix Algorithmus, Wie ansetzen?

Hallo, ich bin gerade dabei ein Graphenprogramm zu schreiben und stecke bisschen bei der Distanzmatrix.

Ich weiß nicht ob sich jemand bei Graphentheorie auskennt oder nicht aber der Algorithmus für die Distanzmatrix ist relativ einfach. Nur das umsetzen in Code fällt mir sehr schwer und deswegen hoffe ich, dass ihr mir vielleicht dabei helfen könnt..

Der Algorithmus für eine Distanzmatrix lautet so:

Man hat eine Eingangsmatrix (Adjazentmatrix).
Die könnte so aussehen:

Man markiert sich alle Nuller die in der Adjazentmatrix vorkommen (AUßER DIE HAUPTDIAGONALE, DIE BLEIBT UNBERÜHRT).

Dann erstellt man sich eine eigene Matrix die man "DistanzMatrix" nennen kann und setzt alle Nuller die eben in der Adjazentmatrix vorkommen auf "Unendlich" oder auch auf INTEGER.MAX_VALUE in der Programmiersprache .

Das schaut dann so aus:

Also haben wir jetzt 2 Matrizen. Bis dahin habe ich es auch geschafft in meinem Programm. Die Ausgabe schaut bei mir so aus:

Die "-9" sind alle Nuller, die auf UNENDLICH gesetzt sind (siehe zweites Bild).

Der nächste Schritt ist es die Potenzen der Eingangsmatrix (Adjazentmatrix) zu berechnen. Das habe ich ebenfalls schon geschafft im Code.

Das heißt, die Adjazentmatrix (siehe Bild 1) wurde potenziert und so könnte das Ergebnis der Potenzberechnug aussehen.

Man schaut sich jetzt alle Nuller (außer die Hauptdiagonale von der Eingangsmatrix an (siehe Bild 1)) und markiert sich nur die Zahlen (rot), die sich von der Potenzierung der Eingangsmatrix verändert haben. (Außer die Nuller (=Neue Nuller die durch die Potenzierung entstanden sind bleiben auch weiterhin eine Null))

Und der letzte Schritt ist es jetzt, die von mir erstellte DistanzMatrix upzudaten, indem ich im ersten Schritt alle rote Zahlen von A²(G) in 2 umwandle. Alle Nuller die übrig bleiben, werden wieder in UNENDLICH umgewandelt.

Und das wird jetzt so oft wiederholt, bis es keine UNENDLICH Zeichen mehr in der Distanzmatrix gibt. Und aus UNENDLICH wird 3. Und immer so weiter.. Falls es zb nach der fünften Potenzierung immer noch Nuller bzw UNENDLICH Werte gibt dann wird aus UNENDLICH 5.

Somit ist D³(G) das Ergebnis.

Ich hoffe ich konnte es ausführlich genug erklären

Danke

Bild zum Beitrag
Computer, Schule, Technik, programmieren, Java, Informatik, Technologie, Algorithmus, Graphentheorie
Lehrer schreit mich an und blamiert mich vor ganzer Klasse?

Bin btw M/13 gehe in die siebte Klasse auf ein Gymnasium.

Also ich hatte vorhin Physik doppelstunde. Es fing so an dass mich mein Lehrer erst nach vorne an die Tafel gerufen hat und eine Frage (die ich definitiv nicht wusste) zu beantworten. Der Lehrer hat es bestimmt bemerkt, dass ich es nicht wusste aber er hat trozdem weiter rum gefragt um mich ein wenig bloß zu stellen. Nach 10 minuten oder so und mit ein wenig hilfe wusste ich dann die Antwort. dann schrieh er mich sehr laut an: "JETZT SETZ DICH AUF UND DEINEN PLATZ"! "UND SCHÄHM DICH"! dann haben halt alle aus der klasse angefangen zu lachen weil die es halt lustig faden dass halt jmd fertig gemacht wurde. Danach meinte der Lehrer noch so: "Es gibt hier Leute in dem Raum, die haben ein Gehirn und manche nicht" (hat ein wenig auf mich angedeutet. Danach haben halt alle sich zu mir umgedreht und mich dumm angeschaut, weil die wussten wer gemeint war. Die aus meiner Klassen machen sich jetzt halt alle über mich lustig und haben auch memes erstellt, dass ich kein Gehirn etc hätte. Als ich zuhause angekommen bin, hab ich natürlich direkt meinen Eltern davon erzählt und die meinte, da unternehmen wir am besten nichts um es nicht noch mehr zu verschlimmern (bin den lehrer nach dem schuljahr eh los) und mit dem Mobbing müsste ich halt ein paar wochen klar kommen. und meine eltern meinten noch das lehrer einfach ein arsc*loch ist.

Mobbing, Schule, Freundschaft, Lehrer, Liebe und Beziehung

Meistgelesene Beiträge zum Thema Schule