You are on page 1of 30

Undirected Depth First Search

A H I

Adjacency Lists
D E

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

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

Undirected Depth First Search


A H I

F newly discovered

Undiscovered Marked Active Finished

visit(A)
(A, F) (A, C) (A, B) (A, G)

Stack

Undirected Depth First Search


A H I

A already marked

visit(F) Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

Undirected Depth First Search


A H I

E newly discovered

visit(F) Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

Undirected Depth First Search


A H I

G newly discovered

visit(E)
F

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

Undirected Depth First Search


A H I

E already marked

visit(G)
D E

(G, E) (G, A) visit(E)

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

Undirected Depth First Search


A H I

A already marked

visit(G)
D E

(G, E) (G, A) visit(E)

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

Undirected Depth First Search


A H I

Finished G
B C G

visit(G)
D E

(G, E) (G, A) visit(E)

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

Undirected Depth First Search


A H I

F already marked

visit(E)
F

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

Undirected Depth First Search


A H I

D newly discovered

visit(E)
F

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

10

Undirected Depth First Search


A H I

F already marked

visit(D)
D E

(D, F) (D, E) visit(E)

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

11

Undirected Depth First Search


A H I

E already marked

visit(D)
D E

(D, F) (D, E) visit(E)

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

12

Undirected Depth First Search


A H I

Finished D
B C G

visit(D)
D E

(D, F) (D, E) visit(E)

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

13

Undirected Depth First Search


A H I

Finished E
D E

visit(E)
F

(E, G) (E, F) (E, D) visit(F)

Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

14

Undirected Depth First Search


A H I

D already marked

visit(F) Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

15

Undirected Depth First Search


A H I

Finished F
F

visit(F) Undiscovered Marked Active Finished

(F, A) (F, E) (F, D) visit(A)


(A, F) (A, C) (A, B) (A, G)

Stack

16

Undirected Depth First Search


A H I

C newly B discovered
D

Undiscovered Marked Active Finished

visit(A)
(A, F) (A, C) (A, B) (A, G)

Stack

17

Undirected Depth First Search


A H I

A already marked

visit(C) Undiscovered Marked Active Finished (C, A)

visit(A)
(A, F) (A, C) (A, B) (A, G)

Stack

18

Undirected Depth First Search


A H I

Finished C
F

visit(C) Undiscovered Marked Active Finished (C, A)

visit(A)
(A, F) (A, C) (A, B) (A, G)

Stack

19

Undirected Depth First Search


A H I

B newly discovered

Undiscovered Marked Active Finished

visit(A)
(A, F) (A, C) (A, B) (A, G)

Stack

20

Undirected Depth First Search


A H I

A already marked

visit(B) Undiscovered Marked Active Finished (B, A)

visit(A)
(A, F) (A, C) (A, B) (A, G)

Stack

21

Undirected Depth First Search


A H I

Finished B
F

visit(B) Undiscovered Marked Active Finished (B, A)

visit(A)
(A, F) (A, C) (A, B) (A, G)

Stack

22

Undirected Depth First Search


A H I

G already finished

Undiscovered Marked Active Finished

visit(A)
(A, F) (A, C) (A, B) (A, G)

Stack

23

Undirected Depth First Search


A H I

Finished A Undiscovered Marked Active Finished

visit(A)
(A, F) (A, C) (A, B) (A, G)

Stack

24

Undirected Depth First Search


A H I

Undiscovered Marked Active Finished

Stack

25

Undirected Depth First Search


A H I

I newly discovered

Undiscovered Marked Active Finished

visit(H)
(H, I)

Stack

26

Undirected Depth First Search


A H I

H already marked

visit(I) Undiscovered Marked Active Finished

(I, H) visit(H)
(H, I)

Stack

27

Undirected Depth First Search


A H I

Finished I
F

visit(I) Undiscovered Marked Active Finished

(I, H) visit(H)
(H, I)

Stack

28

Undirected Depth First Search


A H I

FinishedH Undiscovered Marked Active Finished

visit(H)
(H, I)

Stack

29

Undirected Depth First Search


A H I

Undiscovered Marked Active Finished

Stack

30

You might also like