Você está na página 1de 49

BREADTH FIRST SEARCH

Breadth First Search


2

Breadth First Search


Shortest path
from s

1
2

Undiscovered
Discovered

Queue: s

Top of queue
Finished
3

Breadth First Search


1
2

Undiscovered
Discovered

Queue: s 2

Top of queue
Finished
4

Breadth First Search


1
2

Undiscovered
Discovered

Queue: s 2 3

Top of queue
Finished
5

Breadth First Search


1
2

Undiscovered
Discovered

Queue: 2 3 5

Top of queue
Finished
6

Breadth First Search

Undiscovered
Discovered

Queue: 2 3 5

Top of queue
Finished
7

Breadth First Search

5 already discovered:
7
don't enqueue

Undiscovered
Discovered

Queue: 2 3 5 4

Top of queue
Finished
8

Breadth First Search

Undiscovered
Discovered

Queue: 2 3 5 4

Top of queue
Finished
9

Breadth First Search

Undiscovered
Discovered

Queue: 3 5 4

Top of queue
Finished
10

Breadth First Search

Undiscovered
Discovered

Queue: 3 5 4

Top of queue
Finished
11

Breadth First Search

Undiscovered
Discovered

Queue: 3 5 4 6

Top of queue
Finished
12

Breadth First Search

Undiscovered
Discovered

Queue: 5 4 6

Top of queue
Finished
13

Breadth First Search

Undiscovered
Discovered

Queue: 5 4 6

Top of queue
Finished
14

Breadth First Search

Undiscovered
Discovered

Queue: 4 6

Top of queue
Finished
15

Breadth First Search

Undiscovered
Discovered

Queue: 4 6

Top of queue
Finished
16

Breadth First Search

Undiscovered
Discovered

Queue: 4 6 8

Top of queue
Finished
17

Breadth First Search

Undiscovered
Discovered

Queue: 6 8

Top of queue
Finished
18

Breadth First Search

Undiscovered
Discovered

Queue: 6 8 7

Top of queue
Finished
19

Breadth First Search

Undiscovered
Discovered

Queue: 6 8 7 9

Top of queue
Finished
20

Breadth First Search

Undiscovered
Discovered

Queue: 8 7 9

Top of queue
Finished
21

Breadth First Search

Undiscovered
Discovered

Queue: 7 9

Top of queue
Finished
22

Breadth First Search

Undiscovered
Discovered

Queue: 7 9

Top of queue
Finished
23

Breadth First Search

Undiscovered
Discovered

Queue: 7 9

Top of queue
Finished
24

Breadth First Search

Undiscovered
Discovered

Queue: 7 9

Top of queue
Finished
25

Breadth First Search

Undiscovered
Discovered

Queue: 9

Top of queue
Finished
26

Breadth First Search

Undiscovered
Discovered

Queue: 9

Top of queue
Finished
27

Breadth First Search

Undiscovered
Discovered

Queue: 9

Top of queue
Finished
28

Breadth First Search

Undiscovered
Discovered

Queue:

Top of queue
Finished
29

Breadth First Search

Level Graph

30

DEPTH FIRST SEARCH

31

Directed Depth First Search


A

Adjacency Lists
B

I
D

A:
B:
C:
D:
E:
F:
G:
H:
I:

F G
A H
A D
C F
C D G
E:
:
B:
H:

32

Directed Depth First Search


A

I
D

dfs(A)
A-F A-G
Function call
33

Directed Depth First Search


A

I
D

visit(F)
F-E
dfs(A)
A-F A-G
Function call
34

Directed Depth First Search


A

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
35

Directed Depth First Search


A

dfs(C)
C-A C-D

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
36

Directed Depth First Search


A

dfs(C)
C-A C-D

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
37

Directed Depth First Search


A

dfs(D)
D-C D-F
dfs(C)
C-A C-D

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
38

Directed Depth First Search


A

dfs(D)
D-C D-F
dfs(C)
C-A C-D

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
39

Directed Depth First Search


A

dfs(D)
D-C D-F
dfs(C)
C-A C-D

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
40

Directed Depth First Search


A

dfs(C)
C-A C-D

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
41

Directed Depth First Search


A

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
42

Directed Depth First Search


A

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
43

Directed Depth First Search


A

dfs(G)
I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
44

Directed Depth First Search


A

I
D

dfs(E)
E-C E-D E-G
dfs(F)
F-E
dfs(A)
A-F A-G

Function call
45

Directed Depth First Search


A

I
D

dfs(F)
F-E
dfs(A)
A-F A-G
Function call
46

Directed Depth First Search


A

I
D

dfs(A)
A-F A-G
Function call
47

Directed Depth First Search


A

I
D

dfs(A)
A-F A-G
Function call
48

Directed Depth First Search


A

I
D

Nodes reachable from A: A, C, D, E, F, G


49

Você também pode gostar