UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

48 lines 3.06 kB
/** * Реализация менеджера алгоритмов работы с графами */ import { EventEmitter } from 'eventemitter3'; import { CSElement } from '../core/CSElement'; import { GraphAlgorithmsManager, GraphAnalysisOptions, PathFindingOptions, CycleDetectionOptions, ComponentAnalysisOptions, PathResult, CycleResult, ComponentResult, GraphAnalysisResult, GraphStatistics, GraphRepresentation, GraphAlgorithmsConfig, AlgorithmMetrics, NodeId, GraphCycle } from '../types/graph-interfaces'; export declare class GraphAlgorithmsManagerImpl extends EventEmitter implements GraphAlgorithmsManager { private config; private cache; private metrics; constructor(config?: Partial<GraphAlgorithmsConfig>); findPath(from: CSElement, to: CSElement, options?: PathFindingOptions): Promise<PathResult | null>; findShortestPath(from: CSElement, to: CSElement, options?: PathFindingOptions): Promise<PathResult | null>; findAllPaths(from: CSElement, to: CSElement, options?: PathFindingOptions): Promise<PathResult[]>; detectCycles(root: CSElement, options?: CycleDetectionOptions): Promise<CycleResult>; hasCycle(root: CSElement, options?: CycleDetectionOptions): Promise<boolean>; findCycle(root: CSElement, options?: CycleDetectionOptions): Promise<GraphCycle | null>; findConnectedComponents(root: CSElement, options?: ComponentAnalysisOptions): Promise<ComponentResult>; findStronglyConnectedComponents(root: CSElement, options?: ComponentAnalysisOptions): Promise<ComponentResult>; isConnected(root: CSElement, options?: GraphAnalysisOptions): Promise<boolean>; buildGraph(root: CSElement, options?: GraphAnalysisOptions): Promise<GraphRepresentation>; analyzeGraph(root: CSElement, options?: GraphAnalysisOptions): Promise<GraphAnalysisResult>; getGraphStatistics(root: CSElement, options?: GraphAnalysisOptions): Promise<GraphStatistics>; getDistance(from: CSElement, to: CSElement, options?: GraphAnalysisOptions): Promise<number>; getNeighbors(node: CSElement, options?: GraphAnalysisOptions): CSElement[]; getDegree(node: CSElement, options?: GraphAnalysisOptions): number; topologicalSort(root: CSElement, options?: GraphAnalysisOptions): Promise<NodeId[]>; minimumSpanningTree(root: CSElement, options?: GraphAnalysisOptions): Promise<GraphRepresentation>; calculateCentrality(root: CSElement, options?: GraphAnalysisOptions): Promise<Map<NodeId, number>>; private findPathBFS; private findPathDFS; private findPathDijkstra; private findPathAStar; private detectCyclesDFS; private detectCyclesTarjan; private findComponentsDFS; private findComponentsBFS; private findComponentsTarjan; private findComponentsKosaraju; private calculatePathCost; private getCacheKey; private emitEvent; private updateMetrics; getMetrics(): AlgorithmMetrics; clearCache(): void; configure(config: Partial<GraphAlgorithmsConfig>): void; } //# sourceMappingURL=GraphAlgorithmsManagerImpl.d.ts.map