Вы находитесь на странице: 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

1
, v1 v3, v3 v4 . : 1 2, 2 3, 1
3, 4 1, 4 3. : 2 4.
:
e1
v1
v2
e4
e3 e2
v4
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
.2
. () -
.
,
.
. :
e1 v2
v1

4 3 2

v4
5
v3
. 3
,
.
: d x (
), d (x ) ( ).
, , ,
, , ,
.
- ,
:
). , ,
;
). , , ;
). .
, ,
.

. 4
N 1

: .

: 1. :
, , .

3
2.
.

1). ;

2). ;

3). ( );

:

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

1, vi j,
bij
0, vi j.
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):
v1 v2 v3 v4
1 1 1 0 0
2 0 1 1 0
3 0 1 0 1
4 1 0 0 1

. 5
. 3
(. 6):

v1 v2 v3 v4
e1 -1 1 0 0
e2 0 -1 1 0
e3 -1 0 1 0
e4 -1 0 0 1
e5 0 0 1 -1

4
. 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),
a ij
0, vi, vj (i, ej).

, .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),
a ij
0, vi, vj (i, ej).
, . 3
(. 8):

v1
v2 v3 v4
v1 01 1 1
v2 00 1 0
v3 00 0 0
v4 00 1 0
. 8
,
:
-, ,
;
-, -
.

.
Pascal- ,
:

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

5

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):

2 3 4 0
1 ^ ^ ^ ^
3 0
2 ^ ^
3 ^ 0

4 ^ 3 0
^

6

.
.
. 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. , .

7
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

9
,

.
, -,
, , -,
, ,
:

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
:
vi j.
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
2) Vn 0
k

, ,
, .. V k V k 1 .
Vi k
xi xn, xn -
, .

16

Вам также может понравиться