, - 糿 . , , -.
-, . - , . . .
. , N.
:
1. i = 0
2. a = (h(key) + c*i) % N
3. t(a) = t(a) = t(a) = key,
4. i = i + 1, 2
. , 1 . .
:
1. i = 0
2. a = ((h(key) + c*i) / n + (h(key) + c*i) % n) % n
3. t(a) = t(a) = , t(a) = key,
4. i = i + 1, 2
, -. 糿 . - . . - . . , . , - .
, . , . , . , .
|
|
:
1. i = 0
2. a = ((h(key) + c*i) / n + (h(key) + c*i) % n) % n
3. t(a) = t(a) = , t(a) = key,
4. i > m,
5. i = i + 1, 2
m. , , .
:
1. i = 0
2. a = ((h(key) + c*i) / n + (h(key) + c*i) % n) % n
3. t(a) = key, t(a) =
4. t(a) = i>m,
5. i = i + 1, 2
:
1. i = 0
2. a = ((h(key) + c*i) / n + (h(key) + c*i) % n) % n
3. t(a) = key,
4. t(a) = i>m,
5. i = i + 1, 2
-
, -. - , , . - .
. , -. , -. . -. .
, , . . , , - .
, , -. , . , .
, , . , . , .
. m n1 n2.
for (i=0; i<m; i++)
str[i]:=(char)(rand()%(n2-n1)+n1);
, , . m n1 n4 ( n2 n3).
for (int i=0; i<m; i++)
{
x = rand() % ((n4-n3)+(n2-n1));
|
|
if (x<=(n2-n1))
str[i] = (char)(x+n1);
else
str[i] = (char)(x+n1+n3-n2);
}
. , 7 . , , .
: 7 ;
3 ( 65-90);
2 ( 48-57);
2 ( 97-122).
char key[7];
for (i=0; i<3; i++) key[i] = (char)(rand()%(90-65)+65);
for (i=3; i<5; i++) key[i] = (char)(rand()%(57-48)+57);
for (i=5; i<7; i++) key[i] = (char)(rand{}%(122-97)+97);