34 lines
1.6 KiB
C++
34 lines
1.6 KiB
C++
#pragma once
|
|
#include <cstdint>
|
|
#include <vector>
|
|
|
|
std::vector<std::vector<uint64_t>> random_adjacency(const uint64_t vertex_count);
|
|
|
|
std::vector<std::vector<uint64_t>> calculate_distance_matrix(const std::vector<std::vector<uint64_t>>& adjacency_matrix);
|
|
|
|
std::vector<uint64_t> get_eccentricities(const std::vector<std::vector<uint64_t>>& distance_matrix);
|
|
|
|
uint64_t get_radius(const std::vector<uint64_t>& eccentricities);
|
|
|
|
uint64_t get_diameter(const std::vector<uint64_t>& eccentricities);
|
|
|
|
std::vector<uint64_t> get_centre(const std::vector<uint64_t>& eccentricities);
|
|
|
|
std::vector<std::vector<uint64_t>> calculate_path_matrix(const std::vector<std::vector<uint64_t>>& adjacency_matrix);
|
|
|
|
std::vector<std::vector<uint64_t>> find_components_basic(const std::vector<std::vector<uint64_t>>& path_matrix);
|
|
|
|
std::vector<std::vector<uint64_t>> find_components_dfs(const std::vector<std::vector<uint64_t>>& adjacency_matrix);
|
|
|
|
std::vector<std::vector<uint64_t>> find_bridges_basic(const std::vector<std::vector<uint64_t>>& adjacency_matrix);
|
|
|
|
std::vector<std::vector<uint64_t>> find_bridges_dfs_v1(const std::vector<std::vector<uint64_t>>& adjacency_matrix);
|
|
|
|
std::vector<std::vector<uint64_t>> find_bridges_dfs_v2(const std::vector<std::vector<uint64_t>>& adjacency_matrix);
|
|
|
|
std::vector<uint64_t> find_articulations_basic(const std::vector<std::vector<uint64_t>>& adjacency_matrix);
|
|
|
|
std::vector<uint64_t> find_articulations_dfs_v1(const std::vector<std::vector<uint64_t>>& adjacency_matrix);
|
|
|
|
std::vector<uint64_t> find_articulations_dfs_v2(const std::vector<std::vector<uint64_t>>& adjacency_matrix);
|