连接两个有向无环图

问题描述

我的问题是创建每个患者从患病状态到治愈各种患者的状态的图,并将所有患者的图与一条边连接到另一个包含顶部虚拟单顶点的图。帮帮我。

import java.util.*;
import java.util.ArrayList;
class personData  {
    float personstate,o2level,coughstate,feverstate;
    String med1,med2,med3;
    personData(float personstate,float o2level,float coughstate,float feverstate,String med1,String med2,String med3){
        this.personstate=personstate;
        this.o2level=o2level;
        this.coughstate=coughstate;
        this.feverstate=feverstate;
        this.med1=med1;
        this.med2=med2;
        this.med3=med3;
      }
    public ArrayList storeInArray(){
        ArrayList dtt = new ArrayList();
        dtt.add(personstate);
        dtt.add(o2level);
        dtt.add(coughstate);
        dtt.add(feverstate);
        dtt.add(med1);
        dtt.add(med2);
        dtt.add(med3);
        return dtt;
    }
  }
 
//class to store edges of the weighted graph
class Edge {
    ArrayList srcA = new ArrayList();
    ArrayList desA= new ArrayList();
    int src,dest,weight;
    Edge(ArrayList srcA,int src,int dest,ArrayList desA,int weight) {
            this.src = src;
            this.srcA=srcA;
            this.desA=desA;
            this.dest = dest;
            this.weight = weight;
        }
    public ArrayList edgeOriginGet(){
            return srcA;
        }

}
// Graph class
class Graph {
    // node of adjacency list 
    static class Node {
        ArrayList desA= new ArrayList();
        int value,weight;
        Node(int value,int weight)  {
            this.value = value;
            this.desA=desA; 
            this.weight = weight;
        }
    };
 
// define adjacency list
 
List<List<Node>> adj_list = new ArrayList<>();
 
    //Graph Constructor
    public Graph(List<Edge> edges)
    {
        // adjacency list memory allocation
        for (int i = 0; i < edges.size(); i++)
            adj_list.add(i,new ArrayList<>());
 
        // add edges to the graph
        for (Edge e : edges)
        {
            // allocate new node in adjacency List from src to dest
            adj_list.get(e.src).add(new Node(e.dest,e.desA,e.weight));
        }
    }
// print adjacency list for the graph
    public static void printGraph(Graph graph,List<Edge> edges)  {
        int src_vertex = 0;
        int list_size = graph.adj_list.size();
 
        System.out.println("The contents of the graph:");
        while (src_vertex < list_size) {
            Edge e = edges.get(src_vertex);
            //traverse through the adjacency list and print the edges
            for (Node edge : graph.adj_list.get(src_vertex)) {
               System.out.print("Vertex:" + src_vertex  + e.edgeOriginGet()+" ==> " + edge.value + edge.desA+" (" + edge.weight + ")\t");
            }
 
            System.out.println();
            src_vertex++;
        }
    }
}
public class Main{
    public static void main (String[] args) {
        personData pd1 = new personData(1.1f,95.4f,1.0f,"iver","doxy","pe");
        ArrayList dt1 = new ArrayList();
        dt1 = new ArrayList<Object>(pd1.storeInArray());
        personData pd2 = new personData(1.2f,96.4f,"pe");
        ArrayList dt2 = new ArrayList();
        dt2 = new ArrayList<Object>(pd2.storeInArray());
        personData pd3 = new personData(1.3f,0.0f,"pe");
        ArrayList dt3 = new ArrayList();
        dt3 = new ArrayList<Object>(pd3.storeInArray());
        personData pd4 = new personData(1.4f,97.4f,"pe");
        ArrayList dt4 = new ArrayList();
        dt4 = new ArrayList<Object>(pd4.storeInArray());
        personData pd5 = new personData(1.5f,98.4f,"pe");
        ArrayList dt5 = new ArrayList();
        dt5 = new ArrayList<Object>(pd5.storeInArray());
        List<Edge> edges = Arrays.asList(new Edge(dt1,1,dt2,2),new Edge(dt2,2,dt3,new Edge(dt3,3,dt4,new Edge(dt4,4,dt5,1));
 
        // call graph class Constructor to construct a graph
        Graph graph = new Graph(edges);
 
        // print the graph as an adjacency list
        Graph.printGraph(graph,edges);
    }
}

你可以看到我创建了一个图,但我想创建另一个图并将这两个图连接到包含顶部图的单个顶点;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...