深度优先遍历(DFS)和广度优先遍历(BFS)

深度优先遍历(DFS)和广度优先遍历(BFS)转载 https blog csdn net rr123rrr article details 图的搜索有两种方式 一种是深度优先搜索 Depth First Search 另一种是广度优先搜索 Breadth First Search 接下来 我们来写一下这些搜索方式的 Java 实现 同样的 这里的代码均继承了自定义的 EnhanceModua 类 我之前的文章 查看 En

转载:https://blog.csdn.net/rr123rrr/article/details/

è¿éåå¾çæè¿°
 
1.初始状态,从顶点1开始,队列={1} 

è¿éåå¾çæè¿°
 
2.访问1的邻接顶点,1出队变黑,2,3入队,队列={2,3,} 

è¿éåå¾çæè¿°
 
3.访问2的邻接顶点,2出队,4入队,队列={3,4} 

è¿éåå¾çæè¿°
 
4.访问3的邻接顶点,3出队,队列={4} 

è¿éåå¾çæè¿°
 
5.访问4的邻接顶点,4出队,队列={ 空} 
  分析:


  上面图可以用如下邻接矩阵来表示:

import java.util.LinkedList;

import classEnhance.EnhanceModual;

public class BreadthFirst extends EnhanceModual {

        bfs(maze, 5);//从顶点5开始搜索图

        int nodeNum = adjacentArr.length;

        LinkedList

queue = new LinkedList

();

        queue.offer(start);
        int path = 0;
        int[] nodePath = new int[nodeNum + 1];
        for (int i = 0; i < nodePath.length; i++) {
            nodePath[i] = nodeNum;
        }
        nodePath[start] = 0;








è¿éåå¾çæè¿°

public class DepthFirst extends EnhanceModual {

        dfs(maze, 1);

    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215803.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午1:07
下一篇 2026年3月18日 下午1:08


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号