Japanese subtitles

← PS 08-22 Indexes

Get Embed Code
4 Languages

Showing Revision 1 created 03/11/2014 by Fran Ontanaya.

  1. これまではPython IDEで
    シーケンシャルスキャンをしてきました
  2. シーケンシャルスキャンは配列上で行います
  3. このレッスンでは配列のリストですね
  4. それぞれlink 1、link 2、link 3などの
    IDがついています
  5. これまでは特定のIDを持つリンクを探すために
  6. ループ処理をしてリスト全体を検索していました
  7. もしくは皆さんは目視で探して
    小テストにも手書きで答えられたと思います
  8. そのやり方には特に問題はありません
  9. でも全リストのリンクを
    目視で確認することになりますね
  10. リンクが25個なら問題ありませんが
  11. 何百行ものリンクが格納されている場合は
  12. 手動で全リストを確認するのは非常に困難です
  13. またWebサイトにはある程度の速さも欲しいので
  14. 手動では限界があります
  15. そこでインデックスと呼ばれるデータ構造を使います
  16. 本の索引と同じようなもので
    検索をスピードアップできます
  17. ハッシュテーブルを例に挙げてみましょう
  18. Python内には辞書を格納できます
  19. これはキーと値をマッピングしたものです
  20. 変数にアサインしてみましょう
  21. インデックスと名づけます
  22. これにより検索のスピードが格段に向上します
  23. 先にハッシュテーブルの
    インデックスにあるキーを確認するからです
  24. ハッシュ関数を実行すると
  25. ハッシュテーブルを検索して値をハッシュします
  26. そしてキーもしくは値を返すのです
  27. これで全リストをスキャンする必要がなくなりますね
  28. エレメントに直接飛べるので
    検索のスピードも格段に上がります
  29. それではIDE上で実装しながら
  30. 使い方を学びましょう