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
thescipub.com/PDF/jcssp.2013.377.382.pdf ----------------------------------------------------------------------------
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.
- Alphabetic
- By Inheritance
- SSShortestPath
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )