链表一:1--2--5---7---9----12
链表二:3---2---5---8---10
链表三:2----8---5----7----6---9
节点之间的边是双向的
请高手帮忙这样的的链表java如何构造出一个图

解决方案 »

  1.   

    定义节点的类,里面定义两个容器,一个用来存放指向的另一个节点(数据结构中所谓的出度),另一个容器用来存放指向自己的节点(入度)。接下来,定义这个类型的一个容器,遍历链表把所有点存进去(不要重复),接下来,根据这个容器里节点的顺序,一个一个找他的出度入度,分别存进他的两个容器,这样就构成一张图了。小弟初学java,不知道这样做跟楼主意思是否一样。
      

  2.   


    //节点间的边
    class Edge{
        public Node node;//边指向的节点
         public double cost;//权重
    }class Node{
       public String name;//节点名字
       public List<Edge> prev;//节点的前链
       public List<Edge> next;//节点后链
       public double dist;//节点耗费}