5
: : , , .
- - (V,E), V - , E - <u,v> V . , s=<u,v> u v. s u ( s v) , u v - . , , . , .
G = (V,E) - G' = (V',E'), V' V E' E. G G', u, v <u,v>, G.
, u v, - v(0), v(1),..., v(n) (n>=0) , v(0)=u, u(n)=v i (0 <= i <= n-1) v(i) v(i+1) . v(0), v(1),...,v(n) .. n. , v(0) = v(n). , . , . - , , v(0) v(n), . , , ( ).
- , . - , v(0), v(1),..., v(n) (n >= 2) , i (1<=i<=n-1) v(i) v(i-1), v(i+1), v(0) - c v(n), .
, . . .
G G' G, G' , G.
, . G H ( ) G H, . G G .
, , G = (V,E) E - (u,v) u,v V, . (u,v) u v. v u, u - v.
, , , , , , .
|
|
.
() - .
- , :
). , , ;
). , , ;
). .
, , .
:
1). ;
2). ;
3). ();
:
m n, m - (), n - . i - j - :
" 1 " - i - j - (
- i - "" j - );
" 0 " - i - j - ;
" -1 " - : i - ""
j - );
, : 2 (, () ). - , .
Pascal - m n:
Matr_Ints: array [1..LinksCount, 1..TopsCount] of integer;
n n, n- .
: 1 0. , , .
, :
-, ,
;
-, -
.
Pascal- , :
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"), .
:
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. : .
4. .
5. ( -).