class MGraph[TLabel] extends Graph[TLabel] with Cloneable
The MGraph
class stores vertex/edge-labeled multi-directed graphs using
an adjacency set 'ch' representation, e.g., 'ch = { {1, 2}, {0}, {1} }' means
that the graph has the following edges { (0, 1), (0, 2), (1, 0), (2, 1) }.
Optionally, inverse adjacency via the 'pa' array can be stored at the cost
of nearly doubling the storage requirements.
----------------------------------------------------------------------------
- Alphabetic
- By Inheritance
- MGraph
- Graph
- Cloneable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new MGraph(ch: Array[Set[Int]], label: Array[TLabel] = Array.ofDim (0), elabel: Map[Pair, TLabel] = Map (), inverse: Boolean = false, name: String = "g")(implicit arg0: ClassTag[TLabel])
- ch
the array of child (adjacency) vertex sets (outgoing edges)
- label
the array of vertex labels
- elabel
the map of edge labels
- inverse
whether to store inverse adjacency sets (parents)
- name
the name of the multi-digraph
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addPar(): Unit
Add the inverse adjacency sets for rapid accesses to parent vertices.
Add the inverse adjacency sets for rapid accesses to parent vertices.
- Definition Classes
- Graph
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def buildLabelMap(label: Array[TLabel]): Map[TLabel, Set[Int]]
Given an array of labels, return an index from labels to the sets of vertices containing those labels.
Given an array of labels, return an index from labels to the sets of vertices containing those labels.
- label
the array of vertex labels of type
TLabel
- Definition Classes
- Graph
- val ch: Array[Set[Int]]
- Definition Classes
- Graph
- def checkEdges: Boolean
Check whether the end-point vertex id of each edge is within bounds: '0 ..
Check whether the end-point vertex id of each edge is within bounds: '0 .. maxId'.
- Definition Classes
- Graph
- def checkElabels: Boolean
Check whether the edges in the 'elabel' map correspond to edges in the the adjacency list.
- def clone(): MGraph[TLabel]
Clone (make a deep copy) of 'this' multi-digraph.
- val elabel: Map[Pair, TLabel]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getVerticesWithLabel(l: TLabel): Set[Int]
Return the set of vertices in 'this' digraph with label 'l'.
Return the set of vertices in 'this' digraph with label 'l'.
- l
the label to match
- Definition Classes
- Graph
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- var inverse: Boolean
- Definition Classes
- Graph
- def isConnected: Boolean
Determine whether 'this' digraph is (weakly) connected.
Determine whether 'this' digraph is (weakly) connected.
- Definition Classes
- Graph
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val label: Array[TLabel]
- Definition Classes
- Graph
- val labelMap: Map[TLabel, Set[Int]]
The map from label to the set of vertices with the label
The map from label to the set of vertices with the label
- Definition Classes
- Graph
- def makeUndirected(): MGraph[TLabel]
Make this multi-directed graph work like an undirected graph by making sure that for every edge 'u -> v', there is a 'v -> u' edge and that they have same edge label.
- def nEdges: Int
Return the number of edges in 'this' digraph.
Return the number of edges in 'this' digraph.
- Definition Classes
- Graph
- def nSelfLoops: Int
Determine the number of vertices in the digraph that have outgoing edges to themselves.
Determine the number of vertices in the digraph that have outgoing edges to themselves.
- Definition Classes
- Graph
- val name: String
- Definition Classes
- Graph
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val pa: Array[Set[Int]]
The optional array of vertex inverse (parent) adjacency sets (incoming edges)
The optional array of vertex inverse (parent) adjacency sets (incoming edges)
- Definition Classes
- Graph
- def printG(clip: Boolean = true): Unit
Print 'this' multi-digraph in a deep sense with all the information.
- def same(g: Graph[TLabel]): Boolean
Determine whether 'this' digraph and digraph 'g' have the same vertices and edges.
Determine whether 'this' digraph and digraph 'g' have the same vertices and edges. Note, this is more strict than graph isomorphism which allows vertices to be renumbered.
- g
the other digraph
- Definition Classes
- Graph
- def size: Int
Return the number of vertices in 'this' digraph.
Return the number of vertices in 'this' digraph.
- Definition Classes
- Graph
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toGraphIm(name2: String = name): graphalytics.Graph
Return the equivalent immutable Graph.
Return the equivalent immutable Graph. Assumes the default
TLabel
of typeString
. For other types (e.g.,Double
use '_.toDouble' rather than '.toString' in the last line of this method.- name2
the name to give the new immutable Graph
- Definition Classes
- Graph
- See also
scalation.graphalytics.Graph
- def toLine(i: Int, clip: Boolean = true): String
Convert the 'i'th row/line of 'this' multi-digraph to a string.
- def toString(): String
Convert 'this' multi-digraph to a string in a shallow sense.
- def union(g2: Graph[TLabel]): Graph[TLabel]
Take the union 'this' digraph and 'g2'.
- val vid: Array[Int]
- Definition Classes
- Graph
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated