Вы находитесь на странице: 1из 16

.

.
( ) .

.
. ""
.
1736 ., .
,
( ,
).
. 19 .
, .
.
.
(
, , " ",
.. ), ,
, .

, .. . , ,
, ,
, ,
, , ..
.


""
. 1936 .,
(18 ).
G(V,E) -
V ( ) E ( ).
V , E
.
G(V,E) = V ; E , V , E V V
E ,
.
v1 v2 - , = (v1, v2) - .
v1 , v2 . ,
, . ,
, .
,
. , 0, ,
1, .
: - ( ),
- .
. 1 ,
. v1 v2, v2 v3, v4 v1, v2 v4

, v1 v3, v3 v4 . : 1 2, 2 3, 1
3, 4 1, 4 3. : 2 4.
:
e1
v1
v2
e4
v4

e3

e2
v3

.1
G ( V, E) - G' (V',E'), V' V, E' E.
G ( V, E) G' (V',E'),
, G ( V, E).
V' = V, G' (V',E') G ( V, E).
()

v0, e1, v1, e2, v2, , ek, vk,
.
( ).
= v0, e1, v1, e2, v2, , ek, vk, k ( = k.
v0 = vk, .
, . (
) , .
, , .
.
, , (
).
- ,
.
,
.
.
.
.
. , ,
. ,
.
,
.

, .
G G' ,
, G .
G H
( ) G
H, .
G G .
, .

.2
.
() .
,
.
.
:
e1
v2
v1
4

v4

5
v3
. 3
,
.

: d x (
), d (x ) ( ).
, , ,
, , ,
.
- ,
:
). , ,
;
). , , ;
). .
, ,
.

. 4

N 1
: .
: 1. :
, , .

2.
.

:
1). ;
2). ;
3). ( );
:

n
m B bij , i 1,2,..., n, j 1,2,..., m ,
, - .

1, vi j,
0, vi j.

bij

n m
B bij , i 1,2,..., n, j 1,2,..., m ,
, - .

1, j vi,

bij 1, j vi,
0, v .

i
j
, .1
(.
000 5):
1
2
3
4

v1
1
0
0
1

v2
1
1
1
0

v3
0
1
0
0

v4
0
0
1
1

. 5
. 3
(. 6):

e1
e2
e3
e4
e5

v1
-1
0
-1
-1
0

v2
1
-1
0
0
0

v3
0
1
1
0
1

v4
0
0
0
1
-1

. 6
,
: 2
( , ()
).
.
Pascal -
m n:
Matr_Ints: array [1..LinksCount, 1..TopsCount] of integer;

n
A aij , i, j 1,2,..., n ,
1, (i, ej),
0, vi, vj (i, ej).

a ij

, .1
(. 7):
v1
v2
v3
v4
v1
0
1
0
1
v2
1
0
1
1
v3
0
1
0
0
v4
1
1
0
0
. 7
n
A aij , i, j 1,2,..., n ,
1, (i, ej),
0, vi, vj (i, ej).

a ij

,
(. 8):

. 3

v2
v3
v4
1
1
1
0
1
0
0
0
0
0
1
0
. 8
,
:
-, ,
;
-, -
.

.
Pascal- ,
:
v1
v2
v3
v4

v1
0
0
0
0

Matr_Sm :array [1..TopsCount,1..TopsCount] of byte,

Matr_Sm :array [1..TopsCount,1..TopsCount] of boolean;


, ,
,

,
.
, .

n , ( n -
), i - ,
i. , ,
.
,
, i - (
), ( i - ) .

, . - ,
,
.
:
n
, ,
. ,
. ,
,
, .

,
( Pascal: record ). ,
,
, ,
. ,

(
- "0" ),
. ,
. 4 :
1 - 2,3,4,0
2 - 3,0
3-0
4 - 3,0
(. 9):
1

2
^
3
^
0

3
^
0

3
^

4
^



.
. 9


:
Type
BlockPtr = ^BlockType;
BlockType = record
Number :integer;
Point :BlockPtr;
end;
Var In_Ptr :array [1..TopsCount] of BlockPtr;

New (BlockPtr_Type_Variable), BlockPtr_Type_Variable
- BlockPtr.

1. ,

.
2.
:
-- ;
-- ;
3. , ,
:
-- (
) ;
-- ;
-- (
) ;

1. ?
2. , .

3.
?
4. ?
, Pascal
.

N 2.
: . .
: ,
. ,
.
:

,
.
, ,
. , , .
, ,
.
- ,
.


,
(.. " - ").
, ,
:
1) ;
2) ;
3) ;
4)
.


, ,
(.. " -
").
, ,
:
8

1) ;
2) ;
3,4)
;
5)
.

,
,
,

, . ,
, , -
.
,

; ,
,
.
:

, (
), .

(
)


: q;
, p q
,
p p q.
S , .. ,
,
,
:
S;
WHILE S DO
BEGIN
p - , S;
IF p
THEN p
S
ELSE BEGIN
p S
IF p THEN p
S
END
END

,

.
, -,
, , -,
, ,
:
WHILE DO
BEGIN
p - (.. ) ;
p S;
WHILE S DO
BEGIN
p - , S;
IF p
THEN BEGIN
q - ,
p;
(p,q), q
S;
END
ELSE p S
END
END

.
,
,
, ,
.
, ,
,
. ,

,
, . ,
,
(, ).
;
WHILE DO
BEGIN
;
IF
THEN ;
END

10


1. , , .
2. , ,
:
-- ;
-- ;
-- ;

.
1. , , , ?
2.
?
3. ?
4. ?
5. ?

N 3.
: .
: . ,
.

,
, .
, ,
, , ,
.., .
, , .
, ,
, .
,
O1 O2.
O1 O2;
O1;
WHILE O1 O2 DO
IF O1 THEN
BEGIN
p - , O1;
p O1;
p O2,

11

;
END
ELSE O1 O2,
O2 O1;
,
. ,
- (1, 2, ...)
( r), ,
.

, ,
.
:
O1 O2;
O1 ;
WHILE O1 DO
BEGIN
O1 ;
IF
THEN O2;
END

1. , .
2. , , :
-- ;
-- ;
-- ;
.
1. ?
2. ?
3. ?
4. ?

N 4
: .
:
, .

12


, .
( ). ,
.
. H -
G. G H
, H ( ) G. ,
: , ..
, .
.
: (n,m) - G
:
v .
i

1) G - ;
2) G - m = n - 1;
3) G - m = n - 1;
4)


G
;
5) G - , , -
,
.
: G,
,
m(G) - |G| + k(G), m(G) k(G) -
G .
(n1,m1) - H G,
m1 - (n1 - 1)
. k(G) , .
v(G) = m(G) - |G| + k(G) (
) G. v'(G) = |G| - k(G)
G G. , v(G) + v'(G) =
m(G).
: G
G.

,
.
, ,
.
,
,
, ,
.
( )
"" . ,
,
. ,

13

,
, .
, ,

.
:
1. , , 1.
2;
2. 1 .
3;
3. 1 2 ,
. 2 ,
7, 4;
4. 2. 5;
5. 2 , ,
1. 6;
6. 1 2 2 1.
3;
7. ,
1, 8;
8. - . .

1.
.
2. ,
N 1, , :
-- : ,
;
-- , ;
-- ;
:
1. ?
2. ?
3. ?

14

4.
?
5.
?

6. .

N 5.
: . -
.
: .
,
.

G - ,
,
. , ..
. , , i
j w(i,j). ,
i j, w(i,j) = MAX.
G - , .
s - t - , ,
s t. s -t s t d(s,t). , d(i,i)
= 0 i.

- xi
xj G.

:
1) xi 0;
1) G

Hi;
2) Hj - Hi xi ,
Hj - , (xi,xj). : Hj
- Hi < Lij,
Hj - Hi = Lij,
Hj - Hi > Lij,
Lij - , xi xj . ,
Hj - Hi > Lij xi xj
:

15

Hj - Hi > Lij
Hj > Lij + Hi,
: Hj = Hi + Lij.
, ( i,j),
Hj - Hi > Lij.

;
3)

,
xj xi , Hj Hi = Lij. , .
-
-
.

M. :
1) M(i,j) = Lij, , xi xj, Lij - ;
2) M(i,j) = max, max - ,
, xi xj;
3) M(i,j) = 0, i = j.
Vi 0 :
1) Vi 0 = Lin, , xi xn,
xn - , , Lin -
;
2) Vi 0 = max, max - ,
, xi xn;
3) Vi 0 = 0, i = j.
k- Vi k :
k 1
1) Vi k = min{V j Lij }, i = 1..(n - 1), j =1..n;
i<>j
k
2) Vn 0
, ,
, .. V k V k 1 .
Vi k
xi xn, xn -
, .

16