<pre name="code" class="java">
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Queue;
/*广度遍历是遍历到某个顶点,然后访问其连接点a,b;接着访问a的连接表,
很自然的,这种数据结构就是HashMap,以顶点为key,保存每个顶点的连接表
*/
public class BFS {
static int count=0;
/*
* HashMap<Character,LinkedList<Character>> graph 这个HashMap是用于存放图中每个node的邻接表
* 表示此映射所维护的键的类型为Character,此映射值的类型为LinkedList<Character> graph
* 表示将映射关系存放在graph此映射中
*
* LinkedList<Character> 表示在此Collection中保持元素类型为Character
*
* HashMap<Character,Integer> dist 这个HashMap 是用于存放每个node与距离顶点s的距离的映射关系
* 表示此映射所维护的键的类型为Character 此映射所维护的值的类型为Integer,dist表示将映射关系存放到dist此映射中
*/
private void bfs(HashMap<Character, LinkedList<Character>> graph,
HashMap<Character, Integer> dist, char start) {
// Queue<Character> 表示在此Collection中所保存的元素的类型为Character
Queue<Character> q &
BFS和DFS的java实现
最新推荐文章于 2023-08-30 21:30:18 发布