graphs
.pdf................................................................................................................................................................ |
3 |
........................................................................................................................................................... |
3 |
................................................................................................................................................. |
3 |
........................................................................................................................... |
4 |
.......................................................................................................................................... |
4 |
.......................................................................................................................................................... |
5 |
................................................................................................................................... |
6 |
........................................................................................................................................... |
7 |
(DFS)......................................................................................................................................... |
7 |
.................................................................................................................................................... |
7 |
............................................................................................................................ |
7 |
................................................................................................................................................. |
7 |
................................................................................................................................................ |
7 |
................................................................................................................................. |
7 |
(BFS)......................................................................................................................................... |
8 |
.................................................................................................................................................... |
8 |
.............................................................................................................................................. |
8 |
........................................................................................................................ |
9 |
................................................................................................................................................ |
9 |
................................................................................................................................. |
9 |
.............................. |
10 |
........................................................................................................................................... |
10 |
.............................................................................................................................. |
11 |
.................................................................................................................. |
12 |
................................................................................................................................................................ |
12 |
.......................................................................................................................................................... |
12 |
MakeSet(X) ....................................................................................................................................................... |
13 |
Find(X) .............................................................................................................................................................. |
13 |
Unite(X, Y)......................................................................................................................................................... |
14 |
............................................................................................................................................... |
15 |
................................................................................................................................. |
16 |
............................................................................................................................... |
16 |
........................................................................................................... |
16 |
.................................................................................................................................... |
17 |
................................................................................................................................ |
17 |
.............................................................................................................................. |
17 |
. ............................................................................................ |
18 |
.......................................................................................................................... |
18 |
.............................................................................................................................................. |
18 |
|
.......................................................................... |
18 |
|
......................................................................................................................................................... |
18 |
|
............................................................................................................................................................ |
19 |
|
11. ................................................................................................................................ |
19 |
|
12. .............................................................................................................................................. |
19 |
|
13. ....................................................................................................................................... |
19 |
|
14. ..................................................................................................................................... |
19 |
|
15. ................................................................................................................................................ |
19 |
|
16. ............................................................................................................................................ |
19 |
|
17. ............................................................................................................ |
|
20 |
18. ......................................................................................................................... |
|
20 |
19. ..................................................................................................................................... |
|
20 |
20. ................................................................................................................................... |
|
20 |
, .
— .
, — , |
. |
G V(G).
.
— , : v1,v2 —
, e = (v1,v2) — , v1 e , v2
e . ( ) .
( ) .
— , :
, , ; , ,
- (V, E), V - ( ,
) , E - , . V x V
V. E ( , , ).
u e, v - e, ,
e u v.
6
7 .
G=(V, |
E) - |
, |
|
, . E .
(u,v), (v,u) .
: {u, v}, .
, u v G, e
.
. 0 .
— ,
,
.
— , . ,
.
— , ,
,
, ,
.
, , , « » . ,
... , , ,
, , , ?
. , .
- .
. i, j (i – , j - ) ( ,
, ), ,
i j, . . ,
. ,
. :
|
1 |
2 |
3 |
4 |
5 |
6 |
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
2 |
0 |
0 |
2 |
0 |
0 |
0 |
|
|
|
|
|
|
|
3 |
0 |
0 |
0 |
3 |
0 |
0 |
|
|
|
|
|
|
|
4 |
0 |
4 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
5 |
3 |
7 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
6 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
, , .
(1,3), (1,3) (3,1) -
.
, .
, " " 6, 30 - ,
.
V2 ( V - ) .
, . V2 ( - ), ,
. " " .
, , 10000 1000,
2 * 100000000 / 10242 ( 2 ), 190 ,
. , , 64 . ,
.
( ,
E << V2) .
, ( ) . « ».
( ) , .
:
|
|
x y |
(1) |
x |
(V) |
(x, y) |
(1) |
(x, y) |
(V2) |
- .
3*E, , ,
- , - . ( ):
|
1 |
2 |
3 |
4 |
5 |
6 |
1 |
1 |
2 |
3 |
4 |
5 |
5 |
2 |
2 |
3 |
4 |
2 |
1 |
2 |
3 |
1 |
2 |
3 |
4 |
3 |
7 |
, " " , . ,
, .
:
|
|
x y |
(E) |
x |
(E) |
(x,y) |
(E) |
(x, y) |
(E) |
i- |
(1) |
, , , .
, , ( ,
) i- . , .
,
( ). 2
.
( , 2 64 V< 10000, E < 1000 –
). , ,
, ( ).
, . , , ++ Java, .
(struct C++ record Pascal) – « » « ».
V ( ) « »
( ).
:
mass[0] : . . . . . . . . . . .
mass[1] : . . . . . . . . . . . . . . . .
…..
mass[v] : . . . . .
«….» – , , i- .
( ):
: . 1 : (2, 1), (5, 3)
2 : (3, 2)
3 : (4, 3)
4 : (2, 4)
5 : (1, 3), (2, 7)
6 :
:
|
|
x y |
(E) |
x |
(E) |
(x,y) |
(E) |
(x, y) |
(E) |
i- |
(1) |
, , , . ,
. , x y x
) , .
, , .
, .
: 2 * (10000 * 1000) / 10242 19 .
, 10 , , .
, , , . ,
.
, .
, , .
, . ,
, ,
, . ,
, .
, .
(DFS)
( . Depth-first search, DFS) — .
:
.
- , .
:
.
1., .
2.
u
( )
3.1 2, .
, " " .
:
, , , ;
- ;
- , .
" " .
.
, .
, , .
|
|
|
. |
|
. |
|
, : |
|
" " . O(1) |
|
: i j , starti < startj endi > endj. |
|
LCA ( ). |
|
: , |
|
. - . |
|
|
|
: , |
|
, |
|
. - . |
|
: , |
, |
, . |
. ,
.
(BFS)
BFS , .
( ). ( ) [s],
.
[t], . . (
) : [t]. ,
) « ». —
– « ».
.
. , —
( ). [t] – , !
, ,
mark[..]. [u] , mark[u] = 1 – , [u]-
« ».
" " :
.
; . " "
).
|
: |
|
|
– |
|
|
|
:
(
), ,
" " , ,
). 1 ,
(d[u] = d[p[u]] + 1, d[start] = 0, start – , ).
.
, .
,
. ,
. , , , .
— .
.
.
, ,
() . ,
, ,
,
(
).
( ) ,
, —
.
— , , ,
,
. , ( )
: , .
0-1- ( . , 0
1): : ,
, ,
.
:
;
, , ,
; (
) .
, .
2 : , .
, , — .
, :
|
|
. |
|
|
|
|
|
, |
|
|
|
|
|
. 2 : , |
. |
|
, , —
. , :
|
|
. |
|
|
( . |
). |
|
|
, |
|
, — |
, — .
.
, , 0.
.
— .
, (
— ).
(Robert Floyd)
) (Stephen Warshall) 1962 ., .
, 1959 . (Bernard Roy) ,
.
— .
() ,
,
( , ).
,
, , (
).
, ,
: —
. , ,