今回は効率的な探し方について日常的な例をもとに考えていきたいと思います。
図書館に行って○○というタイトルの本を見つけよう!!
今回は図書館で本を探すというシチュエーションを考えてみましょう。
皆さんぱっと思いつくのはこのあたりでしょうか。
・全ての本棚を端から探す。
・ジャンルや番号などで本棚に目星をつけて探す。
・司書さんに聞く。
実はこれらの方法には探す際のコツが隠れています。一つずつ見ていきましょう。
確認漏れも確認被りもしないようにする!!
端から探す。十分あり得る方法だと思います。若干効率は悪いかも知れませんが。
この方法にはとても良いところがあります。それは確認漏れも確認被りもないところです。
確認漏れがあり、その中に目当ての本があった場合そもそも見つけることができません。論外です。
一方確認被りがあった場合、時間が無駄にかかってしまいます。極論、目当ての本がない本棚をずっと確認してしまった場合見つけることができなくなってしまうかもしれません。
手がかりを利用する!!
とは言え全ての本棚を確認はしたくないですよね?
そんなときは手がかりを利用しましょう。図書館では様々な本がジャンルによって固めて置かれています。ファンタジーの本を探しているのならファンタジーの本棚を探しに行けばいいわけです。おそらく物理の本棚には置いていないでしょう。無駄な本棚を探しに行くのはやめましょう。
楽な手段があるかも……?
司書さんに聞く。そんなのずるじゃんと思うかもしれません。ですがこれはとても重要な考え方です。つまり問題によってはショートカットがあるかもしれません。より簡単な方法はないか、頭を柔らかく持っておきましょう。
今回は探し物のコツということで様々なアルゴリズムに使える考え方を挙げてみました。次のページでは実際の地図アプリやゲームで使われている実用的な
アルゴリズムについて軽く紹介していきます。