@graphty/algorithms
Version:
Graph algorithms library for browser environments implemented in TypeScript
58 lines • 2 kB
TypeScript
import type { Graph } from "../../core/graph.js";
import type { NodeId } from "../../types/index.js";
/**
* Connected components algorithms
*
* Finds connected components in undirected graphs and strongly connected
* components in directed graphs using various efficient algorithms.
*/
/**
* Find connected components in an undirected graph using Union-Find
*/
export declare function connectedComponents(graph: Graph): NodeId[][];
/**
* Find connected components using DFS (alternative implementation)
*/
export declare function connectedComponentsDFS(graph: Graph): NodeId[][];
/**
* Find the number of connected components
*/
export declare function numberOfConnectedComponents(graph: Graph): number;
/**
* Check if the graph is connected (has exactly one connected component)
*/
export declare function isConnected(graph: Graph): boolean;
/**
* Find the largest connected component
*/
export declare function largestConnectedComponent(graph: Graph): NodeId[];
/**
* Get the connected component containing a specific node
*/
export declare function getConnectedComponent(graph: Graph, nodeId: NodeId): NodeId[];
/**
* Find strongly connected components using Tarjan's algorithm
*/
export declare function stronglyConnectedComponents(graph: Graph): NodeId[][];
/**
* Check if a directed graph is strongly connected
*/
export declare function isStronglyConnected(graph: Graph): boolean;
/**
* Find weakly connected components in a directed graph
* (treat the graph as undirected for connectivity)
*/
export declare function weaklyConnectedComponents(graph: Graph): NodeId[][];
/**
* Check if a directed graph is weakly connected
*/
export declare function isWeaklyConnected(graph: Graph): boolean;
/**
* Find condensation graph (quotient graph of strongly connected components)
*/
export declare function condensationGraph(graph: Graph): {
condensedGraph: Graph;
componentMap: Map<NodeId, number>;
components: NodeId[][];
};
//# sourceMappingURL=connected.d.ts.map