6K+ 阅读量
弗勒里算法用于从给定图中显示欧拉路径或欧拉回路。在此算法中,从一条边开始,它尝试通过移除先前的顶点来移动其他相邻顶点。使用此技巧,图在每个步骤中变得更简单,以便找到欧拉路径或回路。我们必须检查一些规则才能获得路径或回路 - 图必须是欧拉图。当有两条边时,一条是桥,另一条是非桥,我们必须首先选择非桥。起始顶点的选择也很棘手,我们不能使用任何顶点作为 ... 阅读更多
7K+ 阅读量
欧拉路径是一条路径,通过它我们可以精确地访问每条边一次。我们可以多次使用相同的顶点。欧拉回路是欧拉路径的一种特殊类型。当欧拉路径的起始顶点也与该路径的结束顶点相连时,则称为欧拉回路。要检测路径和回路,我们必须遵循以下条件 - 图必须是连通的。当恰好有两个顶点具有奇数度时,它就是欧拉路径。现在,当无向图的任何顶点都没有奇数度时,它就是 ... 阅读更多
2K+ 阅读量
欧拉路径是一条路径,通过它我们可以精确地访问每条边一次。我们可以多次使用相同的顶点。欧拉回路是欧拉路径的一种特殊类型。当欧拉路径的起始顶点也与该路径的结束顶点相连时,则称为欧拉回路。要检查图是否为欧拉图,我们必须检查两个条件 - 图必须是连通的。每个顶点的入度和出度必须相同。输入和输出输入:图的邻接矩阵。0 1 0 0 0 ... 阅读更多
使用深度优先搜索 (DFS) 遍历算法,我们可以检测有向图中的环。如果任何节点中存在任何自环,则将其视为一个环,否则,当子节点有另一条边连接其父节点时,它也将是一个环。对于不连通图,可能存在不同的树,我们可以称它们为森林。现在我们必须检测森林的所有树的环。在这种方法中,我们将使用不同的集合来分配节点以执行 DFS 遍历。有三个不同的集合,白色、灰色和黑色。 ... 阅读更多
要检测无向图中是否存在任何环,我们将对给定图使用 DFS 遍历。对于每个访问过的顶点 v,当我们找到任何相邻顶点 u 时,如果 u 已经被访问过,并且 u 不是顶点 v 的父节点。然后检测到一个环。我们将假设任何一对顶点都没有平行边。输入和输出:邻接矩阵 0 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 1 ... 阅读更多
3K+ 阅读量
深度优先搜索 (DFS) 是一种图遍历算法。在此算法中,给定一个起始顶点,当找到一个相邻顶点时,它首先移动到该相邻顶点并尝试以相同的方式遍历。它会尽可能地遍历整个深度,之后它会回溯以到达先前的顶点以查找新路径。为了以迭代方式实现 DFS,我们需要使用堆栈数据结构。如果我们想递归地执行它,则不需要外部堆栈,它可以使用内部堆栈进行递归调用。输入和 ... 阅读更多
要检查图的连通性,我们将尝试使用任何遍历算法遍历所有节点。完成遍历后,如果存在任何未访问的节点,则该图未连接。对于有向图,我们将从所有节点开始遍历以检查连通性。有时一条边可能只有向外的边而没有向内的边,因此该节点将无法从任何其他起始节点访问。在这种情况下,遍历算法是递归 DFS 遍历。输入和输出输入:图的邻接矩阵 0 1 0 0 0 0 0 1 0 ... 阅读更多
4K+ 阅读量
在此问题中,给定一个无向图,我们必须检查该图是否为树。我们可以通过检查树的标准来简单地找到它。树不包含环,因此,如果图中存在任何环,则它不是树。我们可以使用另一种方法来检查它,如果图是连通的并且它有 V-1 条边,则它可能是一棵树。这里 V 是图中顶点的数量。输入和输出输入:邻接矩阵。0 0 0 0 1 0 0 0 0 1 0 0 0 ... 阅读更多
无向图中的一条边被称为桥,当且仅当移除它时,会断开图的连接,或者使图的不同部分。在实际应用中,如果网络中存在一些桥梁,当桥梁的连接断开时,它可能会破坏整个网络。输入和输出输入:图的邻接矩阵。0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 输出:给定图中的桥:桥 3--4 桥 0--3算法bridgeFind(start, visited, disc, low, ... 阅读更多
如果在任何两个顶点之间存在两条顶点不相交的路径,则称无向图是双连通图。换句话说,我们可以说任何两个顶点之间都有一个环。我们可以说图 G 是一个双连通图,如果它是连通的,并且图中不存在任何割点或割顶。为了解决这个问题,我们将使用 DFS 遍历。使用 DFS,我们将尝试查找是否存在任何割点。我们还检查所有顶点是否都由 ... 阅读更多