要素の挿入・削除・検索を非常に高速に行うことの出来るコレクションです。(要素数によらず一定時間)で行うことができます。文字列などの任意のデータから、そのデータを要約して得られる固定長の値のことです。function)といいます。送信元と受信先の双方でハッシュ値を計算し、値を比較するのに使われたりします。「細切れ」という意味です。メッセージの真偽などの確認に使える値ということです。ハッシュ値から元のメッセージを再生することはできません。このような性質から、パスワード認証に使われたりもします。(認証サーバ内では、パスワードのハッシュ値が記録されている。(文字通り、メッセージの要約という意味で用いるので)。「任意のデータから固定長の値(ほとんどの場合整数値)を得る」という部分に意味があります。中には整数しか使えません。任意のデータから(そのデータを要約する)整数値が得られます。任意のデータ(文字列だろうが、自分で定義した構造体だろうがなんでも)を配列に格納できたりしないでしょうか。Hash)の作り方には触れずにおきます(のちほど)。実用のためにはもう一工夫必要です。ここでの主題は、こういうハッシュ値を使ったコレクションを作れないだろうか、ということです。table)と呼びます。実際にはハッシュ値を配列サイズで割ったあまりを使うということです。結果として、要素の挿入・検索がほぼ一定時間で可能になります。)特徴ハッシュテーブルは以下のような利点を持っています。ハッシュ関数に偏りがなく、十分なサイズの配列を取れるなら、ほぼ一定時間で要素の挿入・削除・検索ができます。以下のような欠点もあります。ハッシュ関数の作り方や、配列サイズに大きく依存します。ハッシュ関数に偏りがなくなるような工夫が必要。配列を大きめに取っておかないと検索効率が悪化。要素の順序はばらばらになります。メモリがふんだんにある環境ではハッシュテーブルがよく用いられます。基本的に「リストの配列」です。リストは、「片方向連結リスト」のような構造で十分です。そのため、まず、リストのノードを定義します。}}そして、このノードの配列を用意します。マスク用の変数も用意します。いう関数が用意されています。ここでは、これを使うことにしましょう。このハッシュ関数を使って、要素の挿入は以下のように行います。m;}削除や検索は以下の通りです。サンプルソースを示します。まで気兼ねなくご連絡ください。ついて運営者について。