import java.util.Stack;
public class RecursiveDFS {
public static int graph[][] = {
{ 1, 2 },// 0
{ 0, 3, 4 },// 1
{ 0, 5, 6 },// 2
{ 1, 7 },// 3
{ 1, 7 },// 4
{ 2, 7 },// 5
{ 2, 7 },// 6
{ 3, 4, 5, 6 } // 7
};
static int visited[] = { -1, -1, -1, -1, -1, -1, -1, -1 };// Initialize all
// unvisited.
public static int[] findNeighbours(int v) {
return graph[v];
}
public static boolean isVisited(int v) {
if (visited[v] == 1)
return true;
else
return false;
}
public static void recursiveDFS(int vertex) {
System.out.print(vertex);
visited[vertex] = 1;
int neighbours[] = findNeighbours(vertex);
for (int i = 0; i < neighbours.length; i++) {
if (!isVisited(neighbours[i])) {
recursiveDFS(neighbours[i]);
}
}
}
public static void main(String[] args) throws InterruptedException {
recursiveDFS(0);
}
}
網頁
BloggerAds 廣告
標籤
- Java (96)
- Android (27)
- 演算法 (21)
- c++ (19)
- JavaScript (7)
- OpenMp (6)
- Design Pattern (4)
- 日文歌曲 (4)
- 資料結構 (4)
- Foundation Knowledge Of Programming (3)
- QUT (2)
- CodingHomeWork (1)
- Database (1)
- 英文歌詞 (1)
搜尋此網誌
2012年5月21日 星期一
Directed Graph Traversal using recursive DFS
訂閱:
張貼留言 (Atom)
我的網誌清單
標籤
日文歌曲
(4)
股市
(7)
股票
(9)
英文歌詞
(1)
時事
(1)
硬體(hardware)
(1)
資料結構
(4)
演算法
(21)
數學(Math)
(4)
ACM
(3)
ajax
(7)
algorithms
(1)
Android
(27)
Blog Notes(部落格記事)
(6)
C
(9)
c++
(19)
CodingHomeWork
(1)
Database
(1)
Design Pattern
(4)
Foundation Knowledge Of Programming
(3)
GWT
(1)
How
(2)
J2EE
(1)
Java
(96)
Java語言
(4)
JavaScript
(7)
Leetcode
(4)
LOL
(1)
OpenMp
(6)
QUT
(2)
Uva
(2)
Yahoo知識問答
(11)
沒有留言:
張貼留言