@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() ​
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