UNPKG

@graphty/algorithms

Version:

Graph algorithms library for browser environments implemented in TypeScript

58 lines 2 kB
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