@graphty/algorithms
Version:
Graph algorithms library for browser environments implemented in TypeScript
43 lines • 1.57 kB
TypeScript
import type { Graph } from "../../core/graph.js";
import type { NodeId } from "../../types/index.js";
/**
* Closeness centrality implementation
*
* Measures how close a node is to all other nodes in the graph.
* Uses BFS to compute shortest path distances efficiently.
*/
/**
* Closeness centrality options
*/
export interface ClosenessCentralityOptions {
/**
* Whether to normalize the centrality values (default: false)
*/
normalized?: boolean;
/**
* Use harmonic mean instead of reciprocal of sum (default: false)
* Better for disconnected graphs
*/
harmonic?: boolean;
/**
* Consider only nodes within this distance (default: undefined = all nodes)
*/
cutoff?: number;
}
/**
* Calculate closeness centrality for all nodes
*/
export declare function closenessCentrality(graph: Graph, options?: ClosenessCentralityOptions): Record<string, number>;
/**
* Calculate closeness centrality for a specific node
*/
export declare function nodeClosenessCentrality(graph: Graph, node: NodeId, options?: ClosenessCentralityOptions): number;
/**
* Calculate weighted closeness centrality using Dijkstra's algorithm
*/
export declare function weightedClosenessCentrality(graph: Graph, options?: ClosenessCentralityOptions): Record<string, number>;
/**
* Calculate weighted closeness centrality for a specific node using Dijkstra
*/
export declare function nodeWeightedClosenessCentrality(graph: Graph, node: NodeId, options?: ClosenessCentralityOptions): number;
//# sourceMappingURL=closeness.d.ts.map