我正在尝试在图中找到SCC,我编写的代码做得不错,但会犯一些小错误。
我尝试对算法进行一些小的调整,但最终只会使情况变得更糟。
public class Graph
{
public int _verticesCount;
public List<int>[] _vertexAdjancedVertices; // i-th element contains info about all adjanced vertices of vertex #i
public Graph(int[,] edges)
{
_verticesCount = Program.Nkamers + 1;
_vertexAdjancedVertices = new List<int>[_verticesCount];
for (int i = 0; i < _verticesCount; ++i)
_vertexAdjancedVertices[i] = new List<int>();
for (int i = 0; i < edges.GetLength(0); ++i)
Addedge(edges[i, 0], edges[i, 1]);
}
public void Addedge(int vertex1, int vertex2)
{
_vertexAdjancedVertices[vertex1].Add(vertex2);
}
public List<List<int>> GetStronglyConnectedComponents()
{
//DFS
var processed …Run Code Online (Sandbox Code Playgroud) c# ×1