Class/Object

firrtl.graph

EulerTour

Related Docs: object EulerTour | package graph

Permalink

class EulerTour[T] extends AnyRef

A class that represents an Euler Tour of a directed graph from a given root. This requires O(n) preprocessing time to generate the initial Euler Tour.

Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EulerTour
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new EulerTour(r: Map[T, Int], e: Seq[T], h: Seq[Int])

    Permalink

    Create a new EulerTour from the specified data

    Create a new EulerTour from the specified data

    r

    A map of a node to its first index

    e

    A representation of the EulerTour as a Seq[T]

    h

    The depths of the Euler Tour represented as a Seq[Int]

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. def rmq(x: T, y: T): T

    Permalink

    Range Minimum Query of the Euler Tour.

    Range Minimum Query of the Euler Tour.

    Use this for typical queries.

    x

    The first query bound

    y

    The second query bound

    returns

    The minimum between the first and second query

    Note

    The order of x and y does not matter

    ,

    This currently maps to rmqBV, but may choose to map to either rmqBV or rmqNaive

  16. def rmqBV(x: T, y: T): T

    Permalink

    Range Minimum Query using the Berkman--Vishkin algorithm with the simplifications of Bender--Farach-Colton.

    Range Minimum Query using the Berkman--Vishkin algorithm with the simplifications of Bender--Farach-Colton.

    x

    The first query bound

    y

    The second query bound

    returns

    The minimum between the first and second query

    Note

    Performance:

    • preprocessing: O(n)
    • query: O(1)
    ,

    The order of x and y does not matter

  17. def rmqNaive(x: T, y: T): T

    Permalink

    Range Minimum Query of an Euler Tour using a naive algorithm.

    Range Minimum Query of an Euler Tour using a naive algorithm.

    x

    The first query bound

    y

    The second query bound

    returns

    The minimum between the first and second query

    Note

    Performance:

    • preprocessing: O(1)
    • query: O(n)
    ,

    The order of x and y does not matter

  18. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  19. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped