1分でわかるハッシュ探索! #Shorts

ハッシュ 探索

ハッシュ探索は、O (1) という圧倒的に小さい計算量で探索を行える 非常に優れたアルゴリズムです。 つまり、データ数がどれだけあろうと、目的の要素がある場所をたった1回の計算だけで導き出せることを意味しています。 どうしたらこんなことが可能になるのでしょうか? 原理はこうです。 データを登録するときに、そのデータ自身の値を使って何らかの計算をおこなって、格納位置(通常、データ構造としては配列を使うので、その添字のこと)を決定します。 探索するときも同じ計算をすれば、即座に格納位置が割り出せます。 こうして、O (1) の計算量が実現できます。 データの値と格納位置を何らかの約束事(計算式)によって対応付けてしまう というのが基本的な考え方です。 ハッシュとは? これまではデータの集合から特定の値を見つける探索を主に扱ってきましたが データというのは探索だけでなく、追加や削除という操作を行うことも多く そんな追加と削除を効率的に行う方法が ハッシュ法 と呼ばれる考え方だそうです。 データが格納されている位置は配列のインデックスを前から順番に指定するのがベーシックでしたが このインデックスを指定するための演算を各値で行い、格納する場所を管理するという方法です。 例えば、配列の要素が13個数ある下記配列を考えてみましょう。 (実際には8要素しかありませんが、余分に空要素が5個あると考えます) このとき、それぞれの値を要素数13で割り、剰余をインデックスとして指定してみます。 |bsa| ekm| mvg| uty| yeg| umz| pwo| ftf| mum| gyz| flx| bfd| sou| ktu| chm| ueg| mla| uvx| viw| ldr| uyh| nxv| svd| vws| wwi| orq| wdq| enl| pqh| gtu| dzl| snk| qrg| lxk| hlj| kcb| soy| dgy| zjd| lfi| khf| wuo| foj| fjx| mnz| brr| xty| xkn| hrl| msc|