MiniDigraph

一个用 Swift 编写的超小型有向图库,以 Swift Package 的形式提供。

主要用作我其他开源项目的依赖项。

用法示例

var graph = DirectedGraph<String>()
graph.addNodes(["start", "node 1", "node 2", "node 3", "node 4"])

graph.addEdge(from: "start", to: "node 1")
graph.addEdge(from: "node 1", to: "node 2")
graph.addEdge(from: "node 2", to: "node 3")
graph.addEdge(from: "node 2", to: "node 4")
graph.addEdge(from: "node 4", to: "node 2")

let result = graph.stronglyConnectedComponents()

print(result)

输出

[Set(["node 3"]), Set(["node 4", "node 2"]), Set(["node 1"]), Set(["start"])]