Skip to content

@graphty/algorithms / index / DirectionOptimizedBFS

Class: DirectionOptimizedBFS<TNodeId> ​

Defined in: optimized/direction-optimized-bfs.ts:32

Direction-Optimized Breadth-First Search

Dynamically switches between top-down and bottom-up search strategies based on the size of the frontier. Particularly effective for low-diameter graphs like social networks.

Based on: Beamer, S., Asanović, K., & Patterson, D. (2012). "Direction-optimizing breadth-first search." SC'12.

Type Parameters ​

TNodeId ​

TNodeId = NodeId

Constructors ​

Constructor ​

new DirectionOptimizedBFS<TNodeId>(graph, options?): DirectionOptimizedBFS<TNodeId>

Defined in: optimized/direction-optimized-bfs.ts:48

Creates a new DirectionOptimizedBFS instance.

Parameters ​

graph ​

CSRGraph<TNodeId>

The CSR graph to perform BFS on

options? ​

DirectionOptimizedBFSOptions

Optional configuration for switching thresholds

Returns ​

DirectionOptimizedBFS<TNodeId>

Methods ​

reset() ​

reset(): void

Defined in: optimized/direction-optimized-bfs.ts:272

Reset internal state for reuse

Returns ​

void


search(source): BFSResult<TNodeId>

Defined in: optimized/direction-optimized-bfs.ts:65

Perform BFS from a single source node.

Parameters ​

source ​

TNodeId

The source node ID to start the BFS from

Returns ​

BFSResult<TNodeId>

The BFS result containing distances and parent pointers


searchMultiple() ​

searchMultiple(sources): BFSResult<TNodeId>

Defined in: optimized/direction-optimized-bfs.ts:215

Perform multi-source BFS from multiple source nodes.

Parameters ​

sources ​

TNodeId[]

Array of source node IDs to start the BFS from

Returns ​

BFSResult<TNodeId>

The BFS result containing distances and parent pointers