gpt4 book ai didi

c++ - 如何从图中随机选择一个顶点?

转载 作者:太空宇宙 更新时间:2023-11-04 13:13:23 25 4
gpt4 key购买 nike

我正在寻找使用 C++ 从图中随机选择数字的解决方案。
例如,我有一个在两个顶点之间添加边(一个或多个)的图形,我如何随机选择一个数字?
一些代码:

#include <iostream>
#include <list>
#include <queue>

using namespace std;
// Graph class represents a undirected graph using adjacency list representation
class Graph
{
private:
int V; // # of vertices
list<int> *adj; // Pointer to an array containing adjacency lists
public:
Graph(int V) // Constructor
{
this->V = V;
adj = new list<int>[V];
}
void addEdge(int v, int w); // function to add an edge to graph
void print(int v, int w); //function to display
};

void Graph::addEdge(int v, int w)
{
adj[v].push_front(w); // Add w to v’s list.
adj[w].push_front(v); // Add v to w’s list.
print(v, w);

}

void Graph::print(int v, int w) {
cout << v << " - " << w << endl;}


主要是:

Graph g(4);
g.addEdge(0, 1);
g.addEdge(0, 2);
g.addEdge(1, 3);


示例输出:

0 - 1
0 - 2
1 - 3

最佳答案

使用数学库。兰德函数。选择随机数并从边列表中选择(0 到边数-1),然后选择另一个随机数并选择边的顶点,0 或 1(边的底部/顶部顶点)

关于c++ - 如何从图中随机选择一个顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38648478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com