回答編集履歴
2
編集
answer
CHANGED
@@ -49,5 +49,5 @@
|
|
49
49
|
|
50
50
|
`i`と`x`の動きに注目
|
51
51
|
`x`が
|
52
|
-
hash_val(a) → hash_val(a)+1 → hash_val(a)+1+
|
52
|
+
hash_val(a) → hash_val(a)+1 → hash_val(a)+1+3 → hash_val(a)+1+3+5
|
53
53
|
と動きます。
|
1
追記
answer
CHANGED
@@ -23,4 +23,31 @@
|
|
23
23
|
> }
|
24
24
|
> }
|
25
25
|
|
26
|
-
にて`hash_val("art")`と`hash_val("rat")`が同じ値を返すのは不都合にみえませんか?
|
26
|
+
にて`hash_val("art")`と`hash_val("rat")`が同じ値を返すのは不都合にみえませんか?
|
27
|
+
|
28
|
+
---
|
29
|
+
|
30
|
+
**追記**
|
31
|
+
|
32
|
+
```c
|
33
|
+
int hash_search(struct cell *A, char *a)
|
34
|
+
{
|
35
|
+
int x,i=0;
|
36
|
+
x = hash_val(a);
|
37
|
+
for(i=0; i<m; i++)
|
38
|
+
{
|
39
|
+
if()
|
40
|
+
else if()
|
41
|
+
else
|
42
|
+
{
|
43
|
+
i = i+1;
|
44
|
+
x = (x+i)%m;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|
48
|
+
```
|
49
|
+
|
50
|
+
`i`と`x`の動きに注目
|
51
|
+
`x`が
|
52
|
+
hash_val(a) → hash_val(a)+1 → hash_val(a)+1+2 → hash_val(a)+1+2+3
|
53
|
+
と動きます。
|