【数据结构】判别以邻接表方式存储的有向图是否存在顶点Vi到Vj的路径

说明

分别采用了深度优先算法和广度优先算法实现

运行截图

在这里插入图片描述

代码实现:

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

/**
 * Created by IntelliJ IDEA
 *
 * @author manzuo
 * @date 2018/12/14 23:52
 * 以邻接表的作为存储方式,分别以广度优先和深度优先的算法判别有向图G是否存在顶点Vi到定点Vj的路径
 */
public class AdjacencyList {
   
    public static void main(String[] args) {
   
        Scanner in  = new Scanner(System.in);
        CreateGraph createGraph = new CreateGraph();
        createGraph.initGraph();
        createGraph.outputGraph();
        int i,j;
        System.out.println("输入i,j 的值");
        i = in.nextInt();
        j = in.nextInt();
        createGraph.DFSTravel(i,j);
        createGraph.BFSTravel(i,j);
    }
}
class Vertex{
    //顶点类
    String vername;//顶点的名称
    Vertex nextNode;//下一个顶点
}
class Graph{
    //图类
    Vertex[] vertices;//顶点数组,存放所有顶点
    int verNum = 0;//顶点数量
    int edgeNum = 0;//边的数量
}
class CreateGraph{
   
    Scanner in = new Scanner(System.in);
    static private Graph graph = new Graph();//创建一个没有顶点的空图
    static private boolean[] visited;//遍历辅助数组,标记该顶点是否访问过
    static private boolean flag;//标记是否有Vi到Vj的路径
    public Vertex getVertex(String str){
   
        //根据指定的顶点名称str,返回对应的顶点对象
        //如果顶点不存在,返回null
        for(int i = 1;i<=graph.verNum;i++){
   
            if(graph.vertices[i].vername.equals
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值