一个用 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"])]