new random graph feature #6

Merged
AustrianToast merged 9 commits from dev into main 2023-05-26 12:41:13 +02:00
4 changed files with 49 additions and 10 deletions
Showing only changes of commit 3b4a6f74b6 - Show all commits

View File

@ -86,6 +86,7 @@ public class Graph {
public void calculateExzentrizitäten() { public void calculateExzentrizitäten() {
exzentrizitäten = new ArrayList<>(1); exzentrizitäten = new ArrayList<>(1);
connected = true;
for(int rowIndex = 0; rowIndex < distanzMatrix.getRowLength(); rowIndex++) { for(int rowIndex = 0; rowIndex < distanzMatrix.getRowLength(); rowIndex++) {
int exzentrizität = 0; int exzentrizität = 0;
@ -110,7 +111,6 @@ public class Graph {
radius = Integer.MAX_VALUE; radius = Integer.MAX_VALUE;
diameter = -1; diameter = -1;
connected = true;
centre = new ArrayList<>(1); centre = new ArrayList<>(1);
for(int rowIndex = 0; rowIndex < exzentrizitäten.size(); rowIndex++) { for(int rowIndex = 0; rowIndex < exzentrizitäten.size(); rowIndex++) {

View File

@ -3,6 +3,8 @@ import java.io.IOException;
import java.util.Random; import java.util.Random;
import java.io.FileReader; import java.io.FileReader;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.BufferedWriter;
import java.io.FileWriter;
public class Matrix { public class Matrix {
private int[][] matrix; private int[][] matrix;
@ -13,6 +15,9 @@ public class Matrix {
public Matrix(int rowLength, int columnLength, boolean random) { public Matrix(int rowLength, int columnLength, boolean random) {
if(!random) { if(!random) {
matrix = new int[rowLength][columnLength];
this.rowLength = rowLength;
this.columnLength = columnLength;
return; return;
} }
matrix = new int[rowLength][columnLength]; matrix = new int[rowLength][columnLength];
@ -114,6 +119,25 @@ public class Matrix {
} }
} }
public void WriteToCsv(String filename) {
String s = "";
try (BufferedWriter bw = new BufferedWriter(new FileWriter(filename))) {
for(int columnIndex=0; columnIndex < columnLength; columnIndex++) {
s = "";
for(int rowIndex=0; rowIndex < rowLength; rowIndex++) {
s += matrix[columnIndex][rowIndex];
if(rowIndex < rowLength - 1) {
s += ";";
}
}
bw.write(s + "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
}
public String toString() { public String toString() {
String s = ""; String s = "";
for(int columnIndex=0; columnIndex < columnLength; columnIndex++) { for(int columnIndex=0; columnIndex < columnLength; columnIndex++) {

View File

@ -1,12 +1,13 @@
public class TestGraph { public class TestGraph {
public static void main(String[] args) { public static void main(String[] args) {
test1(); // test1();
test2(); // test2();
test3(); // test3();
test4(); // test4();
test5();
} }
static String pathToProgramRoot = ""; static String pathToProgramRoot = "/home/rene/projects/Java/graphprogram";
/* /*
@ -41,4 +42,12 @@ public class TestGraph {
Graph g = new Graph(pathToProgramRoot + "/csv/art-brck.csv"); Graph g = new Graph(pathToProgramRoot + "/csv/art-brck.csv");
System.out.println(g); System.out.println(g);
} }
/*
* randomly generated graph with x nodes
*/
public static void test5() {
Graph g = new Graph(pathToProgramRoot + "/csv/50n.csv");
System.out.println(g);
}
} }

View File

@ -1,11 +1,12 @@
public class TestMatrix { public class TestMatrix {
public static void main(String[] args) { public static void main(String[] args) {
test1(); // test1();
test2(); // test2();
createCsv();
} }
public static void test1() { public static void test1() {
String pathToProgramRoot = ""; String pathToProgramRoot = "/home/rene/projects/grpahprogram";
Matrix matrix = new Matrix(pathToProgramRoot + "/csv/graph.csv"); Matrix matrix = new Matrix(pathToProgramRoot + "/csv/graph.csv");
Matrix scalarProduct; Matrix scalarProduct;
@ -23,4 +24,9 @@ public class TestMatrix {
Matrix bruh = new Matrix(10, 10, true); Matrix bruh = new Matrix(10, 10, true);
System.out.println(bruh); System.out.println(bruh);
} }
public static void createCsv() {
Matrix bruh = new Matrix(50, 50, true);
bruh.WriteToCsv("csv/50n.csv");
}
} }