Class Tarjan<T>


  • public class Tarjan<T>
    extends java.lang.Object
    Implementation of the Tarjan algorithm to find and display a cycle in a graph.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List<T> m_cycle  
      (package private) int m_index  
      (package private) java.util.Map<T,​java.lang.Integer> m_indices  
      (package private) java.util.Map<T,​java.lang.Integer> m_lowlinks  
      private java.util.Stack<T> m_s  
    • Constructor Summary

      Constructors 
      Constructor Description
      Tarjan​(Graph<T> graph, T start)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<T> getCycle()  
      private void run​(Graph<T> graph, T v)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • m_index

        int m_index
      • m_s

        private final java.util.Stack<T> m_s
      • m_indices

        java.util.Map<T,​java.lang.Integer> m_indices
      • m_lowlinks

        java.util.Map<T,​java.lang.Integer> m_lowlinks
      • m_cycle

        private java.util.List<T> m_cycle
    • Constructor Detail

      • Tarjan

        public Tarjan​(Graph<T> graph,
                      T start)
    • Method Detail

      • run

        private void run​(Graph<T> graph,
                         T v)
      • getCycle

        public java.util.List<T> getCycle()