找到关于编程的34423 篇文章

C++程序:查找图的边连通性

Arjun Thakur
更新于 2019年7月30日 22:30:25

472 次浏览

在这个程序中,我们需要找到图的边连通性。图的边连通性是指它是一座桥,移除它会使图断开连接。在一个不连通的无向图中,移除桥会增加连通分量的数量。函数和伪代码:开始    函数 connections() 是一个递归函数,用于找出连接:    A) 将当前节点标记为未访问。    B) 初始化时间和低值    C) 遍历所有与该节点相邻的顶点    D) 检查以 x 为根的子树是否与一个… 阅读更多

C++程序:在 DAG(有向无环图)中查找 SSSP(单源最短路径)

Arjun Thakur
更新于 2019年7月30日 22:30:25

2K+ 次浏览

这是一个 C++ 程序,用于使用 Dijkstra 算法在 DAG(有向无环图)中查找 SSSP(单源最短路径),以找出从图中的第一个节点到其他每个节点的最短路径长度,并在每个顶点对旁边显示。算法开始    将图的元素作为输入。    函数 shortestpath():    初始化变量    a[i] = 1    d[i] = 0    s[i].from = 0    初始化循环,对于 i = 0 到 3 执行      如果 b[0][i] == 0          继续      否则… 阅读更多

C++程序:查找图中两个节点之间的路径

Arjun Thakur
更新于 2019年7月30日 22:30:25

698 次浏览

在这个程序中,我们可以使用 DFS 在给定图上查找是否存在两个节点之间的路径。算法开始    函数 isReach() 是一个递归函数,用于检查 d 是否可到达 s:    A) 将所有顶点标记为未访问。    B) 将当前节点标记为已访问并将其入队,它将用于获取顶点的所有相邻顶点    C) 从队列中出队一个顶点并打印它    D) 获取出队顶点 s 的所有相邻顶点    E) 如果相邻顶点未被访问,则将其标记为… 阅读更多

C++程序:查找图中割点的数量

Arjun Thakur
更新于 2019年7月30日 22:30:25

443 次浏览

图中的割点(或割顶)是一个点,当且仅当移除它(及其通过它的边)会断开图的连接。对于不连通的无向图,割点是一个顶点,移除它会增加连通分量的数量。算法开始    我们在这里使用 dfs 来查找割点:    在 DFS 中,如果满足以下两个条件之一,则顶点 w 是割点。    1) w 是 DFS 树的根,并且它至少有两个子节点。    2) w 不是 DFS 树的根,并且它有一个子节点 x,使得没有顶点… 阅读更多

C++程序:查找循环图的色指数

Paul Richard
更新于 2019年7月30日 22:30:25

478 次浏览

色指数是给定图的边着色所需的最大颜色数。这是一个 C++ 程序,用于查找循环图的色指数。算法开始    输入顶点数“n”和边数“e”。    输入图中“e”条边的“e”个顶点对在 edge[][] 中。    函数 ChromaticIndex(),对图的边进行着色:    A) 将颜色 c 分配给当前边。    B) 如果任何相邻边具有相同的颜色,则丢弃此颜色并再次转到标志,然后… 阅读更多

C++程序:检查有向图是否为弱连通或强连通

Arjun Thakur
更新于 2019年7月30日 22:30:25

216 次浏览

可以使用 DFS 找出给定有向图的弱连通或强连通。这是一个关于这个问题的 C++ 程序。使用的函数开始    函数 fillorder() = 用所有顶点填充堆栈。    a) 将当前节点标记为已访问并打印它    b) 对所有与该顶点相邻的顶点递归    c) 到目前为止,已处理从 v 可到达的所有顶点,将 v 推入堆栈 结束 开始    函数 DFS():    a) 将当前节点标记为已访问并打印它    b) 对所有与该顶点相邻的顶点递归… 阅读更多

C++程序:检查给定图中是否存在哈密顿环或路径

Paul Richard
更新于 2019年7月30日 22:30:25

1K+ 次浏览

哈密顿环是一个哈密顿路径,使得从哈密顿路径的最后一个顶点到第一个顶点存在一条边(在图中)。它在一个无向图中是一条访问图中每个顶点恰好一次的路径。函数和用途:开始    1. 函数 isSafe() 用于检查它是否与先前添加的顶点相邻且尚未添加。    2. 函数 hamiltonianCycle() 解决哈密顿问题。    3. 函数 hamCycle() 使用 hamiltonianCycle() 解决哈密顿问题。      如果不存在可能的哈密顿环,则返回 false,… 阅读更多

C++程序:应用 DFS 对有向无环图进行拓扑排序

Arjun Thakur
更新于 2019年7月30日 22:30:25

1K+ 次浏览

DAG(有向无环图)的拓扑排序是一种顶点的线性排序,对于每条有向边 uv,其中顶点 u 在排序中位于 v 之前。如果图不是 DAG,则不可能对图进行拓扑排序。函数和伪代码开始    函数 topologicalSort():    a) 将当前节点标记为已访问。    b) 对所有与该顶点相邻的顶点递归。    c) 将当前顶点推入存储结果的堆栈。 结束 开始    函数 topoSort() 使用递归的 topologicalSort() 函数:    a) 标记所有未访问的顶点。  … 阅读更多

C++程序:查找图矩阵的逆矩阵

Paul Richard
更新于 2019年7月30日 22:30:25

8K+ 次浏览

这是一个 C++ 程序,用于查找图矩阵的逆矩阵。矩阵的逆矩阵仅在矩阵非奇异时存在,即行列式不为 0。可以使用多种方法找到矩阵的逆矩阵。在这里,我们使用伴随矩阵及其行列式来找到图矩阵的逆矩阵。示例中涉及的步骤开始    函数 INV() 用于获取矩阵的逆矩阵:    调用函数 DET()。    调用函数 ADJ()。    使用公式查找矩阵的逆矩阵;    Inverse(matrix) = ADJ(matrix) / DET(matrix) 结束。示例#include using namespace std; #define N 5 … 阅读更多

C++程序:使用 DFS 检查图是否为二分图

Arjun Thakur
更新于 2019年7月30日 22:30:25

207 次浏览

如果可以使用两种颜色对图进行着色,则该图是二分图,即一组顶点使用相同的颜色着色。这是一个 C++ 程序,用于使用 DFS 检查图是否为二分图。算法开始    1. 一个数组 color[] 用于存储每个节点的 0 或 1,表示相反的颜色。    2. 从任何节点调用函数 DFS。    3. 如果节点 w 以前未被访问,则分配 !      color[v] 到 color[w] 并再次调用 DFS 以访问与 w 连接的节点。… 阅读更多

广告
© . All rights reserved.