, , , , , . , " ", .. , . , , . .
,
h(K), h(K) - 1,..., 0, - 1, - 2,..., h(K) + 1
31 , :K=EN, TO, TRE, FIRE, FEM, SEEK, SYV 2, 7, 1, 8, 2, 8, 1
. 31. -
, , . , , :
( )
( )
a=N/M
- , .. i:=i-1, : i:=i-C. C, M, . .
C , , C . .
. , , -: h1(K) h2(K). , h1(K) 0 - 1 ; h2(K) 1 - 1, . , h2(K).
h2(K) . - h1(K) = K mod M, h2(K)=1+(K mod ( - 1)); , -1 , h2(K) = 1 + ( mod ( - 2)). , h2(K) 1+([/] mod ( - 2)) , [/] h1(K).
=2m , h2(K) m "" 1. .
|
|
h2(K) h1(K), , ,
, , - , .
:
( )
( )
4. [22]
, - , , . , . , , , .
. . . , , , , , . . 32 , .
. 32.
- , . , , . , . . 32 , , , F, G, , D, D.
- , . , F, G, E . 32 .
, . , , F, G, , D , , F, G, E.
- , . , . , , F, G, , , F, G, , D, , , D D.
, . , . . 33 . , .
. 33.
, . , , , ( ) .
. , . , . , , . , . - . , .
|
|
, . , . , . NextNode, .
type
PLink=^TLink;
PNode=^TNode;
TLink=record
ToNode:PNode; //
Cost:integer; //
NextLink:PLink; //
end;
TNode=record
ID:integer; //
LinkSentinel:TLink; // ,
NextNode:PNode; //
end;
. , Marked. , Marked True, .
. , , .
type
TLink=record
Node1: PNode; //
Node2: PNode; //
Cost:integer; //
NextLink:PLink; //
end;