Académique Documents
Professionnel Documents
Culture Documents
A B C D
front
FIFO Queue
front
A
FIFO Queue
front
A
FIFO Queue
visit neighbors of A
front
FIFO Queue
visit neighbors of A
front
FIFO Queue
A
B C D
B discovered
front
B
FIFO Queue
A
B C D
visit neighbors of A
front
B
FIFO Queue
A
B C D
I discovered
front
B I
FIFO Queue
A
B C D
finished with A
front
B I
FIFO Queue
A
B C D
front
B I
FIFO Queue
A
B C D
visit neighbors of B
front
I
FIFO Queue
A
B C D
visit neighbors of B
front
I
FIFO Queue
A
B C D
B
I
F discovered
front
I F
FIFO Queue
A
B C D
B
I
visit neighbors of B
front
I F
FIFO Queue
A
B C D
B
I
A already discovered
front
I F
FIFO Queue
A
B C D
B
I
finished with B
front
I F
FIFO Queue
A
B C D
B
I
front
I F
FIFO Queue
A
B C D
B
I
visit neighbors of I
front
F
FIFO Queue
A
B C D
B
I
visit neighbors of I
front
F
FIFO Queue
A
B C D
B
I
A already discovered
front
F
FIFO Queue
A
B C D
B
I
visit neighbors of I
front
F
FIFO Queue
A
B C D
I
I
E discovered
front
F E
FIFO Queue
A
B C D
I
I
visit neighbors of I
front
F E
FIFO Queue
A
B C D
I
I
F already discovered
front
F E
FIFO Queue
A
B C D
I
I
I finished
front
F E
FIFO Queue
A
B C D
I
I
front
F E
FIFO Queue
A
B C D
I
I
visit neighbors of F
front
E
FIFO Queue
A
B C D
I
I
G discovered
front
E G
FIFO Queue
A
B C D
I
I
F finished
front
E G
FIFO Queue
A
B C D
I
I
front
E G
FIFO Queue
A
B C D
I
I
visit neighbors of E
front
G
FIFO Queue
A
B C D
I
I
E finished
front
G
FIFO Queue
A
B C D
I
I
front
G
FIFO Queue
A
B C D
I
I
visit neighbors of G
front
FIFO Queue
A
B
G
C D
I
I
C discovered
front
C
FIFO Queue
A
B
G
C D
I
I
visit neighbors of G
front
C
FIFO Queue
A
B
G
C D
I
I
H discovered
front
C H
FIFO Queue
A
B
G
C D
I
I
G finished
front
C H
FIFO Queue
A
B
G
C D
I
I
front
C H
FIFO Queue
A
B
G
C D
I
I
visit neighbors of C
front
H
FIFO Queue
A
B
G
C
C
D
I
I
D discovered
front
H D
FIFO Queue
A
B
G
C
C
D
I
I
C finished
front
H D
FIFO Queue
A
B
G
C
C
D
I
I
front
H D
FIFO Queue
A
B
G
C
C
D
I
I
visit neighbors of H
front
D
FIFO Queue
A
B
G
C
C
D
I
I
finished H
front
D
FIFO Queue
A
B
G
C
C
D
I
I
front
D
FIFO Queue
A
B
G
C
C
D
I
I
visit neighbors of D
front
FIFO Queue
A
B
G
C
C
D
I
I
D finished
front
FIFO Queue
A
B
G
C
C
D
I
I
front
FIFO Queue
A
B
G
C
C
D
I
I
STOP
front
FIFO Queue
Depth-first search
Example
0 8
source
Adjacency List
F F F F F F
1
3 4 5
3 4 5
F
F F F
7 8 9
Pred
Initialize visited table (all False) Initialize Pred to -1
Example
Adjacency List 0 8
source
F F T F F F
2 1 3 7 5
4 5
F
F F F
7 8 9
Pred
Mark 2 as visited
Example
0
8
source
Adjacency List
F F T F F F
1
3 4 5 7
3 4 5
6
7 8 9
F
F T F
2 -
Pred
Mark 8 as visited
Recursive calls
mark Pred[8]
Example
0
8
source
Adjacency List
T F T F F F
8 -
1
3 4 5 7
3 4 5
6
7 8 9
F
F T F
2 -
Pred
Mark 0 as visited
Recursive calls
Mark Pred[0]
Example
0
Back to 8 8
source
Adjacency List
T F T F F F
8 -
1
3 4 5 7
3 4 5
6
7 8 9
F
F T F
2 -
Pred
Recursive calls
Example
0
8
source
Adjacency List
T F T F F F
8 -
1
3 4 5 7
3 4 5
6
7 8 9
F
F T T
2 8
Pred
Mark 9 as visited
Recursive calls
Mark Pred[9]
Example
0
8
source
Adjacency List
T T T F F F
8 9 -
1
3 4 5 7
3 4 5
6
7 8 9
F
F T T
2 8
Pred
Mark 1 as visited
Recursive calls
Mark Pred[1]
Example
0
8
source
Adjacency List
T T T T F F
8 9 1 -
1
3 4 5 7
3 4 5
6
7 8 9
F
F T T
2 8
Pred
Mark 3 as visited
Recursive calls
Mark Pred[3]
Example
0
8
source
Adjacency List
T T T T T F
8 9 1 3 -
1
3 4 5 7
3 4 5
6
7 8 9
F
F T T
2 8
Recursive calls
RDFS( 2 ) Mark 4 as visited RDFS(8) RDFS(9) Mark Pred[4] RDFS(1) RDFS(3) RDFS(4) STOP all of 4s neighbors have been visit return back to call RDFS(3)
Pred
Example
0
8
source
Adjacency List
T T T T T F
8 9 1 3 -
1
3 4 Back to 3 5 7
3 4 5
6
7 8 9
F
F T T
2 8
Recursive calls
Pred
Example
0
8
source
Adjacency List
T T T T T T
8 9 1 3 3
1
3 4 5 7
3 4 5
6
7 8 9
F
F T T
2 8
Recursive calls
RDFS( 2 ) RDFS(8) Mark 5 as visited RDFS(9) Mark Pred[5] RDFS(1) RDFS(3) RDFS(5) 3 is already visited, so visit 6 -> RDFS(6)
Pred
Example
0
8
source
Adjacency List
T T T T T T
8 9 1 3 3
1
3 4 5 7
3 4 5
6
7 8 9
T
F T T
5
2 8
Recursive calls
RDFS( 2 ) RDFS(8) RDFS(9) RDFS(1) RDFS(3) RDFS(5) RDFS(6) visit 7 -> RDFS(7)
Pred
Mark 6 as visited
Mark Pred[6]
Example
0
8
source
Adjacency List
T T T T T T
8 9 1 3 3
1
3 4 5 7
3 4 5
6
7 8 9
T
T T T
5
6 2 8
Recursive calls
RDFS( 2 ) RDFS(8) Mark 7 as visited RDFS(9) RDFS(1) Mark Pred[7] RDFS(3) RDFS(5) RDFS(6) RDFS(7) -> Stop no more unvisited neighbors
Pred
Example
0 Adjacency List Visited Table (T/F)
0
T T T T T T
8 9 1 3 3
8
source
1 2
2 1 3
3 4 5
7
5
T
T T T
5
6 2 8
7 8 9
Recursive calls
Pred
Example
0 Adjacency List Visited Table (T/F)
0
T T T T T T
8 9 1 3 3
8
source
1 2
2 1 3
3 4 5
7
5
T
T T T
5
6 2 8
7 8 9
Recursive calls
Pred
Example
0 Adjacency List Visited Table (T/F)
0
T T T T T T
8 9 1 3 3
8
source
1 2
2 1 3
3 4 5
7
5
T
T T T
5
6 2 8
7 8 9
Recursive calls
Pred
Example
0 Adjacency List Visited Table (T/F)
0
T T T T T T
8 9 1 3 3
8
source
1 2
2 1 3
3 4 5
7
5
T
T T T
5
6 2 8
7 8 9
Recursive calls
Pred
Example
0 Adjacency List Visited Table (T/F)
0
T T T T T T
8 9 1 3 3
8
source
1 2
2 1 3
3 4 5
7
5
T
T T T
5
6 2 8
7 8 9
Recursive calls
Pred
Example
0 Adjacency List Visited Table (T/F)
0
T T T T T T
8 9 1 3 3
8
source
1 2
2 1 3
3 4 5
7
5
T
T T T
5
6 2 8
7 8 9
Recursive calls
Pred
Example
0 Adjacency List Visited Table (T/F)
0
T T T T T T
8 9 1 3 3
8
source
1 2
2 1 3
3 4 5
7
5
T
T T T
5
6 2 8
7 8 9
Pred
Example
0 8
source
Adjacency List
T T T T T T
8 9 1 3 3
2 1 3 7 5
2 3 4 5
6
7 8 9
T
T T T
5
6 2 8
Pred