#pragma once #include #include std::vector> random_adjacency(const uint64_t vertex_count); std::vector> calculate_distance_matrix(const std::vector>& adjacency_matrix); std::vector get_eccentricities(const std::vector>& distance_matrix); uint64_t get_radius(const std::vector& eccentricities); uint64_t get_diameter(const std::vector& eccentricities); std::vector get_centre(const std::vector& eccentricities); std::vector> calculate_path_matrix(const std::vector>& adjacency_matrix); std::vector> find_components_basic(const std::vector>& path_matrix); std::vector> find_components_dfs(const std::vector>& adjacency_matrix); std::vector> find_bridges_basic(const std::vector>& adjacency_matrix); std::vector> find_bridges_dfs_v1(const std::vector>& adjacency_matrix); std::vector> find_bridges_dfs_v2(const std::vector>& adjacency_matrix); std::vector find_articulations_basic(const std::vector>& adjacency_matrix); std::vector find_articulations_dfs_v1(const std::vector>& adjacency_matrix); std::vector find_articulations_dfs_v2(const std::vector>& adjacency_matrix);