use crate::DType;
use numr::error::Result;
use numr::runtime::Runtime;
use super::types::{ComponentResult, GraphData};
pub trait ConnectivityAlgorithms<R: Runtime<DType = DType>> {
fn connected_components(&self, graph: &GraphData<R>) -> Result<ComponentResult<R>>;
fn strongly_connected_components(&self, graph: &GraphData<R>) -> Result<ComponentResult<R>>;
fn is_connected(&self, graph: &GraphData<R>) -> Result<bool>;
fn is_strongly_connected(&self, graph: &GraphData<R>) -> Result<bool>;
}