Package blue.bluejam.algorithms.kotlin.graph

Types

Link copied to clipboard
data class Edge<T : Comparable<T>>(    val from: Int,     val to: Int,     val weight: T) : Comparable<Edge<T>>
Link copied to clipboard
class Graph<T : Comparable<T>>(    val n: Int,     val zero: T,     val inf: T,     val plus: (T, T) -> T)

Functions

Link copied to clipboard
inline fun <T : Comparable<T>> bellmanFord(g: Graph<T>, s: Int): Triple<Array<T>, IntArray, Boolean>

inline fun <T : Comparable<T>> bellmanFord(    g: Graph<T>,     s: Int,     t: Int): Triple<Array<T>, IntArray, Boolean>

Calculate distance from s to t on a graph g. If there exists an negative loop on a path from s to t, put true to the third value of a tuple.

Link copied to clipboard
inline fun <T : Comparable<T>> dijkstra(g: Graph<T>, s: Int): Pair<Array<T>, IntArray>
Link copied to clipboard
fun <T : Comparable<T>> findBridges(g: Graph<T>): Pair<Array<Edge<T>>, Array<TreeSet<Int>>>
Link copied to clipboard
fun <T : Comparable<T>> listRequiredVertices(    g: Graph<T>,     s: Int,     t: Int): BooleanArray
Link copied to clipboard
fun <T : Comparable<T>> topologicalSort(g: Graph<T>): Pair<Boolean, IntArray>