Package ghidra.graph.algo

# Class IterativeFindPathsAlgorithm<V,E extends GEdge<V>>

java.lang.Object
ghidra.graph.algo.IterativeFindPathsAlgorithm<V,E>

Type Parameters:
  `V` - the vertex type
  `E` - the edge type

All Implemented Interfaces:
  `FindPathsAlgorithm<V,E>`

public class IterativeFindPathsAlgorithm<V,E extends GEdge<V>> extends Object implements FindPathsAlgorithm<V,E>
Finds all paths between two vertices for a given graph.

Note: this algorithm is based on the `JohnsonCircuitsAlgorithm`, modified to be iterative instead of recursive.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `IterativeFindPathsAlgorithm()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `findPaths(GDirectedGraph<V,E> g, V start, V end, Accumulator<List<V>> accumulator, TaskMonitor monitor)`
  `void`
  `setStatusListener(GraphAlgorithmStatusListener<V> listener)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### IterativeFindPathsAlgorithm

    public IterativeFindPathsAlgorithm()

- ## Method Details

  - ### setStatusListener

    public void setStatusListener(GraphAlgorithmStatusListener<V> listener)
    Specified by:
      `setStatusListener` in interface `FindPathsAlgorithm<V,E extends GEdge<V>>`

  - ### findPaths

    public void findPaths(GDirectedGraph<V,E> g, V start, V end, Accumulator<List<V>> accumulator, TaskMonitor monitor) throws CancelledException
    Specified by:
      `findPaths` in interface `FindPathsAlgorithm<V,E extends GEdge<V>>`
    Throws:
      `CancelledException`