You are on page 1of 18

-

G ,
G- G-

- G-
G-

( m )

d(v) v
v
:
.1
v
v
2
" v-
v
.
) (
) (


) (
) (
.
) (
) (


) (
) (
.2
=v

1-

- G-
G-
G-
) find circuit(v ( v- )
- find circuit
G

.1
,
.2
x
x-
x-
x-
x-
-
G

.1 find circuit
find circuit
. find circuit ( )
. ( )
.2

.3 L

.4
:
.
.

) (u,v
L-
u v- L-
L -

u-
G
) (x,y
x- L -
y L ) (x,y
x- L-

DFS
:
.1

u,v
v u DFS v u v
v- v-
.
:
.2



DFS

k=1

k=i-1

DFS

DFS
,




.1 -

.2 - ,
.3 -

DFS

-
G DFS G

C G
r- C- DFS
Tr - DFS r
( = C )Tr
"
( C - )Tr Tr C
v C-
r C- r- rv-
v r Tr -
( C - )Tr C Tr
v Tr -
rTr -
Tr ,
r -v -

C

4 ' - "
:
) d(A " A
) f(A " A

)(u,v
u
v
) (
) (

:
) .1

) ( -

x -

) d(x
x- .

) (u,v
x-
x-
x DFS

) (
) (
) (
) .2

) ( - -

".

y-
) d(y y-
( )

( ) (u,v " ")


) f(y

) (
) (
) (
) (

BFS

.1

) (u,v
(s,v) (s,u)+1

,
.2
1
" s-sv v-
u " , v
(s,u) = (s,v)-1

- BFS
v L[i]- (s,v)=i

(s,s)=0 s 0 L[0]-
: i-1
v ] L]i-1 (s,v) = i-1

: (s,v) = i v ]L]i
v s- s- (s,v) = i i
u v " sv-
1
(s,u) = (s,v) - 1 = i -1
u ]L[i-1
v- i v ]L[0]...L[i-1
v ] L[i-1 ]L[i-1+1] = L[i
: v ] L[i (s,v) = i
v ]L[i
] L[i-1 u
(s,u)=i-1
v- u
(s,v) = d[v] = d[u]+1 = (s,u)+1 = i-1+1 = i

- "
BFS " "" "

: "" "
:
- A s -
- B s -
A B- "
u,v A- , )(u,v


d[u] = d[v] .1
""
d[v] = d[u]+1 .2
, s-
, ) (u,v AB-
: " ""
A,B
" s- A-
1 B-
2 A -

A s-
B s-
) (u,v ]d[u] = d[v

""

"
"
:1
s- v-
:
P x- y- s-v-
P s- v-
:2

)(u,v
)(s,v) (s,u)+w(u,v
:
) (s,u)+w(u,v


( 3 ):
u s-v-
)(s,v) = (s,u)+w(u,v
: 1
:4
, .
:
,
( )

Relax
:1
] d[v
:2
]d[v
] d[v s- v- v- ]p[v
( 3 ):
)d[v] (s,v
( 4 :)3-
) d[v] = (s,v

-
:
( ) ( d[v] = (s,v) v )

v .

.1
s-v-
= ]d[v
, sv-
] d[v
u s -
d[v] > d[u] +w(u,v) Relax
u s - = )w(u,v
v s-
] d[v
= ]d[v
.2
s-v-
" s-) v-
=s
=v

P
,(
)
: i=0

, ,) (
(
)
:4 ) d[v] = (s,v
,(
)
: i-1 i
,
(
)
: (
Relax
(
)
(
)
(
)
(
)


s... "
3
) 3

, - )

, -

(
-

, -

-
SUCCESS
d[v] = (s,v) v

n-1 .
.1
k- " k.
v ( s- = ])d[v
" vs-
(
)

) i

, -

i=0 ( " )"0-


, ,) (
(
)

i-1
i-1 )

i- Relax )
( Relax )

,
(
)
(
)
(
)
(
)


s...
" "
3
) i
3 )
,(
)

(
(

( ( !!!)

, -

,, -

.2
n-1
4 "
n-1
n-1- " n-1
, .
d[v] = (s,v) v
SUCCESS

- "
d[v] = (s,v) v

(= P sv-
)
,

" P


,(
)
( )4

i=0

, ,) (
(
)



i-1

,
(
)


Relax )

)

s...vi
" "
3

)
(

)
, -

, -


(
3 )
,(
)
4

, -

-
:
, u " s-v-
)(s,u)(s,v

d[v] = (s,v) v

s
)d[s] = 0 = (s,s

() t-1
)d[v] = (s,v

v t-
)d[v] = (s,v
" s-(s....x...y...v) v -
y
x

d[x] = (s,x) .1
x
d[y] = (s,y).2
x relax )(x,y

, ,) (
) (
) (
) (

1-
v...y
" " 3
d[y] (s,y) 3 )d[y] = (s,y

)
) (
,

, ,(

v y-
2-

"

G
F
S )H=(V,F
e S- V\S
F e

F , " G
T" F .
:
.1
e T-
T " .
.2
T e -
' e T- S V\S
' T ' eT U {e} -
( )

) (
) (

) (

) (

) (

T" ' T
) (
) (
' T

* +

} F U {e .

G


,i

G




i -
"
)w' = f(w
) (

f .
'w

' w
) (
) (
) (
) (

)
)

(
(

) (
) (
'w

)
) (

(
)

) (
(

) (

Min cut. Max flow


f .G
:
f .1 G-
.2 s-( t- )
.3 - ) (S,T )|f| = c(S,T

f G ' f
' f+f
|'|f+f'| = |f|+|f

' f+f
"
.1
u,vV-

)
(
))
(
()
)

( (

()

.2
u,vV-

))
(
)

( (

()

.3
u s,t

()

|'|f+f'| = |f|+|f

| |

| |

()


21
s-( t- )

f- G-

f P s-t-
| |
P ) ( ) (
' f+f G-
|
| | | | | | |
) (
) ( ||f
f- .
32
s-( t- )
- ) (S,T )|f| = c(S,T
:
- S s-
V\S - T
)| | c(S,T
:
(S,T) .1 .
: s t-

.2 v S- u- T- )f(u,v)=c(u,v
: )f(u,v) < c(u,v
s- v - v- S
) (u,v

))

))

| |

13
- ) (S,T )|f| = c(S,T
f- G-
) (S,T
f- |c(S,T) = |f
' f

| |
(
)
(
| | )

Min Cut = Max Flow :

You might also like