数据结构与算法:图形结构( 三 )
<>();for (String vertex : s){vertexes.add(vertex);}matrix = new int[s.length][s.length];}/*** 将俩个顶点连接 , 即生成边* @param index1 顶点在集合中的索引* @param index2*/public void connect(int index1, int index2){if (index1 < 0 || index1 > matrix.length || index2 < 0 || index2 > matrix.length){throw new RuntimeException("该顶点未存在");}//将新的邻接添加的邻接矩阵中matrix[index1][index2] = 1;matrix[index2][index1] = 1;}/*** 展示邻接矩阵*/public void showGraphMatrix(){for (int arr[] : matrix){System.out.println(Arrays.toString(arr));}}public void dsf(){visited = new boolean[vertexes.size()];//以在集合中下标为0的顶点 , 进行深度优先搜索dsf(visited, 0);}/*** 深度优先搜索* @param visited* @param row*/public void dsf(boolean[] visited, int row){//输出当前顶点System.out.print(vertexes.get(row) + " -> ");//将当前顶点设为已访问visited[row] = true;//获取当前顶点的邻接顶点下标int index = getFirstNeighbor(row);//如果当前顶点有邻接顶点则进行深度搜索while (index != -1){//当邻接顶点未访问时 , 则递归遍历if (visited[index] != true){dsf(visited, index);}//当邻接顶点已访问时 , 则寻找另一个邻接顶点index = getNeighbor(row, index);}}public void bfs(){visited = new boolean[vertexes.size()];////以在集合中下标为0的顶点 , 进行广度优先搜索bfs(visited, 0);}/*** 广度优先搜索* @param visited* @param row*/public void bfs(boolean[] visited, int row){//创建队列 , 存储遍历邻接顶点的顺序Queue queue = new ArrayDeque();//输出当前顶点System.out.print(vertexes.get(row) + " -> ");//将当前顶点设为已访问visited[row] = true;//将当前顶点加入队列中queue.add(row);//当队列不为空时 , 即有未搜索的邻接顶点 , 进行搜索while (!queue.isEmpty()){//按顺序从队列中弹出邻接顶点下标int last = (Integer)queue.poll();//获取该弹出顶点的邻接顶点下标int index = getFirstNeighbor(last);//当弹出顶点有邻接顶点时 , 进行广度搜索while(index != -1){//当邻接顶点未访问时if(visited[index] != true){//输出该邻接顶点System.out.print(vertexes.get(index) + " -> ");//把该邻接顶点设为已访问visited[index] = true;//将该邻接顶点加入队列queue.add(index);}//继续寻找弹出顶点的另一个邻接顶点index = getNeighbor(last, index);}}}/*** 获取顶点在邻接矩阵对应行row中的第一个邻接顶点下标* @param row* @return 当有邻接顶点时返回邻接顶点下标 , 没有则返回-1*/public int getFirstNeighbor(int row){for(int i =0; i
出处:
- 创意|wacom one万与创意数位屏测评
- 逛逛|淘宝内容化再升级:“买家秀”变身“逛逛”试图冲破算法局限
- 黑莓(BB.US)盘前涨逾32%,将与亚马逊开发智能汽车数据平台|美股异动 | US
- 巅峰|realme巅峰之作:120Hz+陶瓷机身+5000mAh 做到了颜值与性能并存
- 抖音小店|抖音进军电商,短视频的商业模式与变现,创业者该如何抓住机遇?
- YFI正式宣布与Sushiswap合作|金色DeFi日报 | 合作
- 小店|抖音小店无货源是什么?与传统模式有什么区别?
- 星期一|亚马逊:黑五与网络星期一期间 第三方卖家销售额达到48亿美元
- 迁徙|网红迁徙记:哪里才是奶与蜜之地?
- 与用户|掌握好这4个步骤,实现了规模性的盈利
