class SSShortestPath extends AnyRef
The SSShortestPath
class is used to solve shortest path problems for graphs
stored in matrices. It solves the Single-Source Shortest Path 'SSSP' problem
for directed graphs (both digraphs and multi-digraphs). The SSShortestPath
companion object is used to form a matrix from an MGraph
.
----------------------------------------------------------------------------
The edge cost/distance (must be non-negative) can be stored in either a dense
or sparse matrix. Dijkstra's Algorithm is used.
- See also
en.wikipedia.org/wiki/Dijkstra%27s_algorithm ---------------------------------------------------------------------------- For multi-digraphs, each multi-edge between a pair vertices has it own edge weight (
TLabel
=VectorD
in this case). The minimum is taking when forming the corresponding matrix.thescipub.com/PDF/jcssp.2013.377.382.pdf ----------------------------------------------------------------------------
- Alphabetic
- By Inheritance
- SSShortestPath
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SSShortestPath(c: MatriD, s: Int)
- c
the cost/distance matrix, where a value of zero implies no connection. If the actual distance is zero, use a very small number instead.
- s
the single-source vertex
Type Members
- case class Item(id: Int, dd: Double) extends Ordered[Item] with Product with Serializable
The
Item
inner case class has two fields, vertex id and distance from vertex s (the source) as well as a compare method based on distance.The
Item
inner case class has two fields, vertex id and distance from vertex s (the source) as well as a compare method based on distance.- id
the id of the vertex
- dd
the vertex's distance from vertex s
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- 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 hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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()
- def spath(): (VectoD, VectorI)
Determine the shortest path from vertex 's' to each vertex 'j' returning the vector 'd' giving the distance from 's' to all other vertices and the vector 'p' of predecessor vertices.
Determine the shortest path from vertex 's' to each vertex 'j' returning the vector 'd' giving the distance from 's' to all other vertices and the vector 'p' of predecessor vertices. The path from 's' to each vertex can be deduced from the 'p' vector.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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