Japanese subtitles

← 18-21 Hash Function

18-21 Hash Function

Get Embed Code
2 Languages

Showing Revision 1 created 07/21/2014 by osawakjvta.

  1. これらのプロパティを持つハッシュ関数を
    定義してみましょう
  2. ハッシュ関数に行わせたいことは
  3. 入力として文字列を使用することです
  4. この関数をhash_stringと呼びましょう
  5. 出力としてゼロとbの間の数値を生成します
  6. また別の入力もhash_stringにする必要があります
  7. それがハッシュテーブルのサイズになります
  8. それによって2つ目の入力がハッシュテーブルの入力
  9. つまりバケット数になります
    まだ学習していませんが
  10. この関数に必要となるのが文字列を数値に
  11. 変換する方法です
    Pythonがその関数を組み込んでいます
  12. ordinalのordと呼ばれるものです
  13. ordは入力として1文字の文字列を用い
  14. その出力として数値を生成します
  15. 文字列と数値の実際の対応づけは
  16. あまり重要ではありません
  17. 必要なのは異なる文字列を
    異なる数値に対応づけることです
  18. これとは反対に数値を用いて
  19. 数値に対応する1文字の文字列を出力する
    別の演算子があります
  20. これらの関数は反比例します
  21. ある1文字の文字列に対応する序数に
    対応する文字を使用する場合です
  22. これをアルファと呼びます
    結果として得られるものは渡した同じアルファです
  23. ordとchrがどのように機能するのか確認するため
  24. Pythonインタプリタで例を試してみましょう
    aのordを出します
  25. 実行すると数値97を取得したことが確認できます
    もし大文字のAのordを出すと
  26. 異なるものになります 65になりました
    Bのordを出すと
  27. 66になります 数値はいくらか実用的です
  28. BはAより高いです 小文字は大文字とは
  29. 異なる序数を有しています ですから小文字のbを
  30. 試してみると予想通り98になりました
  31. それが実際に取得したものです
  32. これらはASCII文字のコード化を基にした数値です
  33. 色々な文字の色々な数値を取得する以外に
  34. 実際の数は私たちにはあまり重要ではありません
  35. 様々な値の様々な文字列のハッシュを作成するために
    ordの結果を使用します
  36. 逆があることを示すために
    chr(ord(‘u’))を実行すれば
  37. 開始した1文字の文字列uを得ました
  38. ordの制限は1文字の文字列のみ処理することです
  39. 文字列と数値の対応づけが可能なら
    ハッシュテーブルにとても役立ちます
  40. ここで終了ですがまだ終わりません
  41. もし複数の文字の文字列でそれを実行した場合
    エラーが出ます
  42. ordは1文字を求めていると示されます
  43. しかし長さ7の文字列を取得しました
  44. 1文字の文字列でのみordを使用する必要があります
  45. ordで文字列を数値に変換する方法があります
    1文字の文字列を数に変換します
  46. ハッシュ関数に必要な別のプロパティは
  47. ゼロとbー1の間に常にある出力数です
  48. 文字列が属しているバケットを見つけるために
  49. インデックスリストにそれを使用したいので
    範囲内に収める必要があります