problemutils.classes.graphs

Type members

Classlikes

case class DisjointSets[V](var nodes: V*)

A generic mutable implementation of the disjoint sets data structure.

A generic mutable implementation of the disjoint sets data structure.

Value parameters:
nodes

all the vertices currently tracked by this data structure

Companion:
object
Companion:
class
case class Edge[V](from: V, to: V, weight: Double)

A simple generic edge class. Can represent either a directed or an undirected edge, and so has both from / to vertex parameters, as well as u and v value members for easy disambiguation.

A simple generic edge class. Can represent either a directed or an undirected edge, and so has both from / to vertex parameters, as well as u and v value members for easy disambiguation.

Value parameters:
from

the source vertex

to

the destination vertex

u

alias for from

v

alias for to

weight

the cost of traveling along this edge, defaults to 1 if not provided

case class FiniteGraph[V] extends Graph[V]
Companion:
object
Companion:
class
trait GeneratingGraph[V](val adjacencyFunction: V => Set[Edge[V]]) extends Graph[V]
trait Graph[V]
Companion:
object
object Graph
Companion:
class
case class LazyGraph[V] extends GeneratingGraph[V]
Companion:
object
object LazyGraph
Companion:
class
case class Path[V](vertices: Seq[V], cost: Double)
Value parameters:
cost

the total cost of the path

vertices

the ordered sequence of vertices making up the path

case class ProceduralGraph[V] extends GeneratingGraph[V]
Companion:
object
Companion:
class
case class Tree[V](value: V, children: Set[Tree[V]])

A simple recursive tree class.

A simple recursive tree class.

Value parameters:
children

The children of this node.

value

The value of this node.