# `Yog.Traversal.Implicit`
[🔗](https://github.com/code-shoily/yog_ex/blob/v0.97.0/lib/yog/traversal/implicit.ex#L1)

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

# `implicit_fold`

```elixir
@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`

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

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

---

*Consult [api-reference.md](api-reference.md) for complete listing*
