@thi.ng/adjacency
Version:
Sparse & bitwise adjacency matrices, lists and selected traversal algorithms for directed & undirected graphs
28 lines • 1.15 kB
TypeScript
import type { Nullable } from "@thi.ng/api";
import type { DegreeType, Edge, IGraph } from "./api.js";
export declare class AdjacencyList implements IGraph<number> {
adjacency: number[][];
indegree: number[];
protected numE: number;
protected numV: number;
constructor(edges?: Iterable<Edge>);
numEdges(): number;
numVertices(): number;
vertices(): Generator<number, void, unknown>;
edges(): Generator<Edge, void, unknown>;
addVertex(id: number): void;
removeVertex(id: number): boolean;
hasVertex(id: number): boolean;
addEdge(from: number, to: number): boolean;
removeEdge(from: number, to: number): boolean;
hasEdge(from: number, to: number): boolean;
degree(id: number, type?: DegreeType): number;
neighbors(id: number): Iterable<number>;
invert(): AdjacencyList;
toDot(ids?: string[]): string;
toString(): string;
protected ensureVertexData(id: number): number[];
}
export declare const defAdjList: (edges?: Iterable<Edge>) => AdjacencyList;
export declare const adjListFromAdjacency: (src: Nullable<number[]>[]) => AdjacencyList;
//# sourceMappingURL=list.d.ts.map