データ構造:ハッシュ表:イントロ



イントロ🌐
その後、ハッシュテーブルから始めます.

問題:なぜハッシュテーブルが必要ですか?
ユーザデータを保存したいなら、例えば配列を使うことができます.
const user = ['miku86', 'Germany', 33]
しかし、それは理解するのが難しいかもしれません.
最初の値は私の名前です.
二つ目は私の故郷かもしれません.
しかし、第3のものの意味は何ですか?
私たちは多くの文脈を持っていないので、ここで推測する多く.
番目の要素には様々な意味があります.
私の故郷、私の現在の場所、私の好きな国に旅行するか、世界で最高のサッカーチーム.
すべての値にコンテキストを与えることができれば、これは素晴らしいでしょう.
const user = {
  name: 'miku86',
  homeCountry: 'Germany',
  age: 33,
}
これはすべての値をコンテキストに与えるデータ構造です.
それぞれvalue にはコンテキストがありますkey それは人間に読める.
JavaScriptのものをしたなら、すでにこのデータ構造を見ました.
ジャバスクリプトobject , より広い用語はハッシュテーブルです.

ハッシュテーブルとは▶️
  • ほとんどの言語にはハッシュテーブルが組み込まれている
  • 例:object ( JavaScript )あるいはDictionary ( Python )
  • 各データエントリには、キー(例えばキー)にマッチする(人間が読める)キーがありますname 値にマッチするmiku86
  • 鍵は注文しない
  • 高速:検索、追加、削除
  • ハッシュ関数(後述)を使用するので、ハッシュテーブルと呼ばれます

  • どうやってハッシュテーブルをビルドしますかobject )? 🛠
  • 配列を使います
  • キーを使って値を見つけたい.user.name => "miku86"
  • キーを使用して配列インデックスを見つけるには、keyindex
  • 人に読めるkey 配列インデックスに、ハッシュ関数を使用します
  • ハッシュ関数を使用するので、データ構造をハッシュテーブルと呼ぶ

  • 思考💭
    上の例を使いましょう.
    const user = {
      name: 'miku86',
      homeCountry: 'Germany',
      age: 33,
    }
    
    キーを使用して、私の名前の値を取得したいname .
    私たちはフードの下に配列を使いたいからです.
    const user = ['miku86', 'Germany', '33']
    
    3つの配列項目があり、各配列項目には1つの値があります.例えば、インデックス0の配列項目には' miku 86 'があります.
    それで、正しい値にアクセスするために、我々は常に正しい配列インデックスを知らなければなりません.
    しかし、インデックスで動作したくないので、キーで動作します.name , でも鍵がない🤷
    キーを取る関数が必要です.name , そして、配列項目の正しいインデックスに変換します.0 .
    これはハッシュ関数が出現するところです.

    次部分➡️
    ハッシュ表用の独自の単純ハッシュ関数をどのように構築するかを学びます.
    興味深いものをお見逃しなく.read here !

    更なる読書📖
  • Simple Wiki: Hash Table
  • Wikipedia: Hash Table
  • Wikibooks: Hash Table

  • 質問❔
  • あなたはハッシュ表のより大きい概念を理解しますか?
  • 別の人にコンセプトを説明できますか?
  • あなたはハッシュテーブル(それを見ないで)の大きいOについて考えることができますか?