UNPKG

@graphty/algorithms

Version:

Graph algorithms library for browser environments implemented in TypeScript

49 lines 1.54 kB
/** * Minimum Cut Algorithms * * Various algorithms for finding minimum cuts in graphs */ export interface MinCutResult { cutValue: number; partition1: Set<string>; partition2: Set<string>; cutEdges: { from: string; to: string; weight: number; }[]; } /** * Find minimum s-t cut using max flow * The minimum cut value equals the maximum flow value (max-flow min-cut theorem) * * @param graph - Weighted graph * @param source - Source node * @param sink - Sink node * @returns Minimum cut information * * Time Complexity: Same as max flow algorithm used */ export declare function minSTCut(graph: Map<string, Map<string, number>>, source: string, sink: string): MinCutResult; /** * Stoer-Wagner algorithm for finding global minimum cut * Finds the minimum cut that separates the graph into two parts * * @param graph - Undirected weighted graph * @returns Global minimum cut * * Time Complexity: O(V³) or O(VE + V² log V) with heap */ export declare function stoerWagner(graph: Map<string, Map<string, number>>): MinCutResult; /** * Karger's randomized min-cut algorithm * Probabilistic algorithm that finds min cut with high probability * * @param graph - Undirected graph * @param iterations - Number of iterations (higher = better accuracy) * @returns Minimum cut found * * Time Complexity: O(V² * iterations) */ export declare function kargerMinCut(graph: Map<string, Map<string, number>>, iterations?: number): MinCutResult; //# sourceMappingURL=min-cut.d.ts.map