深度优先遍历 java
生活随笔
收集整理的這篇文章主要介紹了
深度优先遍历 java
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
以下是java代碼
package Map;public class DepthFirstSearch{//定點集合private String points[] = {"A","B","C","D","E","F","G","H","I"};//是否訪問private boolean visited[] = new boolean[9];//地圖private int map[][] = new int[9][9];//最大值private int max = Integer.MAX_VALUE;//創建地圖private int[][] createMap(){int map[][] = {{max, 1,max,max,max, 1,max,max,max},{max,max, 1,max,max,max, 1,max, 1},{max, 1,max, 1,max,max,max,max, 1},{max,max, 1,max, 1,max, 1, 1, 1},{max,max,max, 1,max, 1,max, 1,max},{ 1,max,max,max, 1,max, 1,max,max},{max, 1,max, 1,max, 1,max, 1,max},{max,max,max, 1, 1,max, 1,max,max},{max, 1, 1, 1,max,max,max,max,max}};return map;}//初始化參數public void init(){this.map = this.createMap();}//深度遍歷開始public void dsf(){for(int i = 0 ; i < this.map[0].length ; i++){if(!this.visited[i]){ //該頂點未訪問this.dfsMain(this.map, i);}}}//深度遍歷算法public void dfsMain(int[][] map,int i){System.out.print(this.points[i] + " "); this.visited[i] = true;for(int j = 0 ; j < this.map[0].length ; j++){if(map[i][j]==1&&!this.visited[i]){this.dfsMain(map, j);}}}public static void main(String args[]){DepthFirstSearch depthFirstSearch = new DepthFirstSearch();depthFirstSearch.init();depthFirstSearch.dsf();}}
?
總結
以上是生活随笔為你收集整理的深度优先遍历 java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: websocket后台推送数据
- 下一篇: openStreetMap学习网站