JAVA数据结构与算法之————图(邻接表)

JAVA数据结构与算法之————图(邻接表)

图节点结构:

public class VertexNode {
   
    
    /*节点数据*/
    public String data;
    /*指向第一边节点的指针*/
    public EdgeNode firstedge;
    /*标记节点是否被访问*/
    public boolean isVisited;
    /*无参构造函数*/
    public VertexNode(){
   
        this.data = null;
        this.firstedge = null;
        this.isVisited = false;
    }
    /*带参构造函数*/
    public VertexNode(String data, EdgeNode firstedge){
   
        this.data = data;
        this.firstedge = firstedge;
        this.isVisited = false;
    }
}

边结构:

public class EdgeNode {
   
    /*边连接的顶点信息*/
    public String adjvex;
    /*权重*/
    public int weight;
    /*指向下一条边的指针*/
    public EdgeNode next;
    
    public EdgeNode(){
   };
    
    public EdgeNode(String adjvex, int weight, EdgeNode next){
   
        this.adjvex = adjvex;
        this.weight = weight;
        this.next = next;
    }
}

图结构:

public class GraphAdjList<E> {
   
    /*存储节点的数组*/
    public List<E> adjList = new ArrayList<>();
    /*记录节点数目和边数*/
    public int numVertexes, numEdges;
}

数据data.txt:

9
15
0
1
2
3
4
5
6
7
8
0 1 1
0 2 5
1 2 3
1 3 7
1 4 5
2 4 1
2 5 7
3 4 2
3 6 3
4 5 3
4 6 6
4 7 9
5 7 5
6 7 2
6 8 7
7 8 4

创建图:

public void createALGraph(GraphAdjList<VertexNode> G, boolean isDigr
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值