图Graph的可视化方案
在线可视化网站
面向GPT的Prompt
01 随机生成图
(1) Prompt
以下是图Graph、结点Node和边Edge的类定义
class Node{
int value;
int in; //入度
int out; //出度
ArrayList<Node> nexts; //邻接点
ArrayList<Edge> edges; //出边集
}
class Edge{
int weight;
Node from;
Node to;
}
class Graph{
HashMap<Integer,Node> nodes;
HashSet<Edge> edges;
}
请帮我生成一个随机初始化图的算法,要求结点的权值为不超过100的正整数,
结点的value值为不超过100的正整数,要求图全连通,结点的数量不超过10,边的入度出度均不超过3。
(2) 说明
- 交给GPT的类定义可以不加构造函数,GPT返回代码的时候会贴心地帮我们加上构造函数
- GPT会帮我们生成一个以结点数量和结点最大度为入参的生成图函数
- 我们可以根据需要调整
maxNodes和maxDegree的值来控制生成的图的规模和度数限制 - 笔者要求使用java语言实现上述功能时,在根据最大度生成边的部分会产生一个死循环的错误,需要手动修改代码
02 结构化打印图
(1) Prompt
以下是图Graph、结点Node和边Edge的类定义
static class Node {
int value;
int in; // 入度
int out; // 出度
ArrayList<Node> nexts; // 邻接点
ArrayList<Edge> edges; // 出边集
}
static class Edge {
int weight;
Node from;
Node to;
}
static class Graph {
HashMap<Integer, Node> nodes;
HashSet<Edge> edges;
}
请按照以下格式输出图的数据
0
1
2
3
4
5
0 2 2
0 4 3
0 5
1 4
1 5
2 3
2 4
4 5
该数据格式的含义为:
1.首先,逐行打印每个结点的值,每一行只有一个值的时候表示一个新的结点。
2.其次,打印每一条边,每一行表示一条边。
3.当这一行有两个数据时,该行的第一个数据表示源点,第二个数据表示终点。
4.当这一行有三个数据时,该行的第一个数据表示源点,第二个数据表示终点,第三个数据表示权值。
(2) 说明
- 调用函数打印成功后,将控制台的数据复制,粘贴到在线网站的
Graph Data, - 就可以看到可视化的图结构了
03 自定义图1
java实现,我想要实现类似如下的功能:

文章讲述了如何使用Java编程语言生成一个全连通图,包括随机生成图的方法以及结构化打印图数据以便于可视化。作者还提到使用GPT辅助生成代码,处理节点值和边权重的限制条件。
最低0.47元/天 解锁文章
1166

被折叠的 条评论
为什么被折叠?



