回答編集履歴

2

編集

2021/05/23 05:35

投稿

asm
asm

スコア15149

test CHANGED
@@ -100,6 +100,6 @@
100
100
 
101
101
  `x`が
102
102
 
103
- hash_val(a) → hash_val(a)+1 → hash_val(a)+1+2 → hash_val(a)+1+2+3
103
+ hash_val(a) → hash_val(a)+1 → hash_val(a)+1+3 → hash_val(a)+1+3+5
104
104
 
105
105
  と動きます。

1

追記

2021/05/23 05:35

投稿

asm
asm

スコア15149

test CHANGED
@@ -49,3 +49,57 @@
49
49
 
50
50
 
51
51
  にて`hash_val("art")`と`hash_val("rat")`が同じ値を返すのは不都合にみえませんか?
52
+
53
+
54
+
55
+ ---
56
+
57
+
58
+
59
+ **追記**
60
+
61
+
62
+
63
+ ```c
64
+
65
+ int hash_search(struct cell *A, char *a)
66
+
67
+ {
68
+
69
+ int x,i=0;
70
+
71
+ x = hash_val(a);
72
+
73
+ for(i=0; i<m; i++)
74
+
75
+ {
76
+
77
+ if()
78
+
79
+ else if()
80
+
81
+ else
82
+
83
+ {
84
+
85
+ i = i+1;
86
+
87
+ x = (x+i)%m;
88
+
89
+ }
90
+
91
+ }
92
+
93
+ }
94
+
95
+ ```
96
+
97
+
98
+
99
+ `i`と`x`の動きに注目
100
+
101
+ `x`が
102
+
103
+ hash_val(a) → hash_val(a)+1 → hash_val(a)+1+2 → hash_val(a)+1+2+3
104
+
105
+ と動きます。