1、广度优先遍历:使用level作为标记,在广度优先遍历的过程中,如果出现level小于当前level的节点,即出现回路。
2、深度优先遍历:使用visit标记当前深度遍历的各节点,如果遍历过程中出现visit已经标记,可以说明存在回路。
3、使用拓扑排序:如果拓扑排序过程中,出现不存在入度为0的节点,同时节点未全部遍历的情况,则存在回路。
当然对于图为无向连通图,可以直接计算m = n - 1,即边数是否等于顶点减一
1、广度优先遍历:使用level作为标记,在广度优先遍历的过程中,如果出现level小于当前level的节点,即出现回路。
2、深度优先遍历:使用visit标记当前深度遍历的各节点,如果遍历过程中出现visit已经标记,可以说明存在回路。
3、使用拓扑排序:如果拓扑排序过程中,出现不存在入度为0的节点,同时节点未全部遍历的情况,则存在回路。
当然对于图为无向连通图,可以直接计算m = n - 1,即边数是否等于顶点减一