import { GraphSpec } from '../spec'; import { SeededRandom, TestEdge, TestNode } from './types'; /** * Generate Hamiltonian graph edges. * Hamiltonian graphs contain a Hamiltonian cycle (visiting all vertices exactly once and returning to start). * @param nodes - Node list * @param edges - Edge list to modify * @param spec - Graph specification * @param rng - Seeded random number generator */ export declare const generateHamiltonianEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate traceable graph edges. * Traceable graphs contain a Hamiltonian path (visiting all vertices exactly once). * @param nodes - Node list * @param edges - Edge list to modify * @param spec - Graph specification * @param rng - Seeded random number generator */ export declare const generateTraceableEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate graph with specified diameter. * Diameter is the maximum distance between any pair of vertices. * Uses complete graph (diameter=1), path graph (diameter=n-1), or intermediate structure. * @param nodes - Node list * @param edges - Edge list to modify * @param spec - Graph specification * @param rng - Seeded random number generator */ export declare const generateDiameterEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate graph with specified radius. * Radius is the minimum eccentricity among all vertices. * Uses star graph (radius=1) or path graph with center connections. * @param nodes - Node list * @param edges - Edge list to modify * @param spec - Graph specification * @param rng - Seeded random number generator */ export declare const generateRadiusEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate graph with specified girth. * Girth is the length of the shortest cycle. * Uses cycle graph C_k (girth = k) with additional tree nodes. * @param nodes - Node list * @param edges - Edge list to modify * @param spec - Graph specification * @param rng - Seeded random number generator */ export declare const generateGirthEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; /** * Generate graph with specified circumference. * Circumference is the length of the longest cycle. * Uses cycle graph C_k (circumference = k) with additional chords. * @param nodes - Node list * @param edges - Edge list to modify * @param spec - Graph specification * @param rng - Seeded random number generator */ export declare const generateCircumferenceEdges: (nodes: TestNode[], edges: TestEdge[], spec: GraphSpec, rng: SeededRandom) => void; //# sourceMappingURL=path-cycle.d.ts.map