Yog.Traversal.Implicit (YogEx v0.97.0)

Copy Markdown View Source

Implicit graph traversal — BFS, DFS, Best-First, and Random on graphs defined by successor functions rather than materialized data structures.

Summary

Functions

Traverse implicit graphs using BFS, DFS, Best-First, or Random order without materializing a Graph.

Like implicit_fold/1, but deduplicates visited nodes by a custom key.

Functions

implicit_fold(opts)

@spec implicit_fold(keyword()) :: any()

Traverse implicit graphs using BFS, DFS, Best-First, or Random order without materializing a Graph.

Options

  • :from: Starting node.
  • :using: Traversal order. Options:
    • :breadth_first (BFS)
    • :depth_first (DFS)
    • :best_first - Prioritizes discovery based on a :priority function.
    • :random - Randomizes discovery order.
  • :priority: Required if :using is :best_first. A function taking (node_id, meta).
  • :successors_of: Function returning [node_id].
  • :initial: Initial accumulator.
  • :with: Folder function (acc, node_id, meta).

implicit_fold_by(opts)

@spec implicit_fold_by(keyword()) :: any()

Like implicit_fold/1, but deduplicates visited nodes by a custom key.