This repository has been archived on 2024-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
René Fuhry 8962baadf9
implemented dfs
it's way faster now
2023-06-05 16:07:36 +02:00

43 lines
1.4 KiB
Rust

#[allow(unused_imports)]
use crate::graph::{
matrix::{fill_with_random, read_csv, show},
*,
};
pub mod graph;
pub fn main() {
let file_name = "24n.csv";
let adjazenz_matrix = read_csv(file_name);
//let adjazenz_matrix = fill_with_random(320); // with 320 verteces, it runs in about 10 seconds on an Intel i5-10300H @4.3 GHz (2023-06-05 15:48)
let distanz_matrix = calculate_distanz_matrix(&adjazenz_matrix);
let weg_matrix = calculate_weg_matrix(&adjazenz_matrix);
println!("adjazenz matrix:");
show(&adjazenz_matrix);
println!("\ndistanz matrix:");
show(&distanz_matrix);
println!("\nweg matrix:");
show(&weg_matrix);
let exzentrizitaeten = calculate_exzentrizitaeten(distanz_matrix);
let properties = calculate_properties(&exzentrizitaeten);
if properties.3 {
println!("\nexzentrizitäten: {exzentrizitaeten:?}");
println!(
"radius: {}\ndiameter: {}\ncentre: {:?}",
properties.0, properties.1, properties.2
);
} else {
println!("\nexzentrizitäten: not connected");
println!("radius/diameter/centre: not connected");
}
let components = find_components(weg_matrix);
println!("components: {components:?}");
println!("bridges: {:?}", find_bridges(&adjazenz_matrix));
println!("articulations: {:?}", find_articulations(&adjazenz_matrix));
}