回答編集履歴
1
キーと値の説明を追加
test
CHANGED
@@ -26,6 +26,8 @@
|
|
26
26
|
|
27
27
|
**ハッシュテーブルの実装**
|
28
28
|
|
29
|
+
|
30
|
+
|
29
31
|
衝突を考えると、配列に格納するために工夫が必要になります。
|
30
32
|
|
31
33
|
|
@@ -48,6 +50,8 @@
|
|
48
50
|
|
49
51
|
**ハッシュ関数の実装**
|
50
52
|
|
53
|
+
|
54
|
+
|
51
55
|
上の本にはハッシュ関数の実装について書かれていません。以下の本を読んでください。
|
52
56
|
|
53
57
|
『世界標準MIT教科書 アルゴリズムインロダクション第3版 第1巻』近代科学社
|
@@ -58,4 +62,24 @@
|
|
58
62
|
|
59
63
|
**ハッシュ関数の応用**
|
60
64
|
|
65
|
+
|
66
|
+
|
61
67
|
パスワード、電子署名など様々な分野で使われています。wikipediaを読んでみましょう。
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
### 【追記(2019-04-28)】
|
72
|
+
|
73
|
+
**キーと値**
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
ハッシュ値(配列の添字)が「キー」と思われているようですが間違いです。キーは「リンゴ」「ミカン」になります。英語の辞書に例えると、英単語が「キー」単語の説明が「値」に相当します。質問の例は「キー」と「値」が同じ辞書です。ハッシュテーブルを「辞書」「連想配列」「ハッシュ」と呼ぶことがあります。
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
**ハッシュテーブルのエントリ**
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
通常は(キー、値)のペアになります。理由は、衝突リストに格納されたエントリを識別するのにキーの同値判定が必要だから。
|