Dieses Projekt implementiert den Echo -Wellenalgorithmus für undirected -Netzwerke. Um eine realistische Ausführung in jeder Wiederholung des Algorithmus zu simulieren, werden die Knoten, die das Protokoll ausführen können, zufällig generiert.
Abhängig von dem Zweck des Netzwerks muss eine geeignete Netzwerkstruktur ausgewählt werden, da ein Zusammenhang zwischen den Kosten und der Zeit des Netzwerks, der Netzwerkkosten und der Zeit des Netzwerks besteht. Daher wird die Ausführungszeit gesenkt, wenn die Netzwerkkonnektivität stark ist, dies erhöht jedoch die Kosten (Gesamtnachrichten) und erzeugen flache Bäume. Andererseits, wenn ein Netzwerk nicht gut verbunden ist, nimmt die Kosten ab, aber die Zeit und die Tiefe des Baumes.
Die Eingabe wird durch eine .txt -Datei gelesen, die sich im SRC/ Ressourcen/ Ordner befinden muss. Diese Datei muss ein eindeutiges Muster haben, das befolgt werden muss, um das Programm richtig auszuführen. Die Regeln, die beschrieben werden, müssen befolgt werden:
Die erste Zeile der Datei muss die Grafikgröße sein. (Um das Lesen von Dateien zweimal zu vermeiden)
Jede der REST -Zeilen muss eine Kante mit dem folgenden Format darstellen: '$ Integer + Space || Tab + $ Integer' (z. B. Zeile "3 2" oder "3 2" bedeutet, dass Knoten mit Wert 3 und 2 verbunden sind).
Jeder Knotenwert (Val) muss eine Ganzzahl sein und das folgende Ungleichheit erfüllen: 0> = Val> GraphSize. Es wird stark empfohlen, da statische Strukturen verwendet wurden,
dass alle Werte von Knoten im Bereich von [0, graphSize) verwendet werden, um eine unnötige Speicherzuweisung zu vermeiden
@src.uk.ac.ncl.echo.USealgorithmus#main: Wenn Sie Ihre Datei testen möchten, fügen Sie den Namen der Datei im Eingabefilename -String -Array und in der Datei selbst im SRC/ Ressourcen/ Ordner hinzu.
@Src.uk.ac.ncl.echo.USALGORITHM: Zwei Konstanten werden für die Schlussfolgerungen des Berichts für den Zeichnen von Berichten erklärt. Wenn Sie test = true ändern, ist der Testmodus aktiviert und in jedem Diagramm werden die Algorithmus test_runs mal ausgeführt. Dann wird ein results.txt erstellt, der die Testergebnisse enthält.
@Src.uk.ac.ncl.echo.EchowaveAlgorithmus: K wird standardmäßig auf 2 gesetzt.