代码之家  ›  专栏  ›  技术社区  ›  Amber

查找周期深度优先搜索

  •  0
  • Amber  · 技术社区  · 6 年前

    有什么建议吗?:)

    来自注释的格式化代码。。。

    ...
    else if (backedges.Count > 1) 
    { 
        foreach (Side side in backedges) 
        {
            Node end = Side.node2; 
            Node begin = Side.node1; 
            List<Side> allsidesycle = new List<Side>();
            while (begin != Side.node2) 
            {
                end = begin;
                begin = begin.pi; 
                Side be = new Side(begin, end); 
                allsidescycle.Add(be); 
            }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   c0der    6 年前

    要查找周期,您可能需要使用宽度优先搜索(bfs)。

    如果你第二次去,你就有了一个循环。要删除它,请通过删除第二条边来修改图形。