メイドと学ぶ☆アルゴリズムの考え方!線形探索を例に解説

『アルゴリズム』

聞きなれない単語ですが、プログラミングの勉強には欠かせません。

アルゴリズム次第で、処理効率も変わってきます。

 

ITアレルギーの方に朗報です!

業界にいたプログラマーが、例を交えて説明。

メイドと一緒に、アルゴリズムの考え方を学んでいきましょう。

 

スポンサーリンク

アルゴリズムとは

皆さんを代表してwiki先生に聞いてきます。

アルゴリズムとは、

数学、コンピューティング、言語学、あるいは関連する分野において、

問題を解くための手順を定式化した形で表現したものを言う。

算法と訳されることもある。

引用元:wiki

 

意味がわからないので、一言でまとめますね。

アルゴリズムとは、ある目的に対してのアプローチの仕方のこと。

 

メイドと一緒に具体的なイメージを掴んでいきましょう!

アルゴリズムにも種類がある

お屋敷のご主人様は、今日もご機嫌です。

可憐なメイド達と一緒に『優雅なお茶会』をしたいです。

さて、お茶会を開催する方法について考えていきましょう。

 

●メイドにお願いする場合

ご主人様
メイド達と一緒にお茶会をしたい。
ご主人様
日給10万円あげるから、いい感じにセッティングしてくれないかな。
メイド
これはお金の匂いがする…
メイド
実は母が病気で…(にやり)
メイド
日給100万円にしてくれないですか、ご主人様♪
ご主人様
いいよ~
メイド
メイド
メイド
計画通り

 

この場合は100万円をメイドに支払う為、効率が悪いですね。

 

 

●ご主人様が自分でやる場合

ご主人様
この前、メイドの日給で100万円も使っちゃったんだよな~
ご主人様
今日は自分でお茶会をセッティングしようかな
メイド
もうこれ以上の搾取は無理か…
メイド
他のご主人様のところで働こうかな

 

おっ!100万円の出費を抑えることができましたね。

ムダな出費がないので、効率的です。

 

このように同じ『優雅なお茶会』でも、色々なアプローチがありますね。

アプローチ次第で、効率も変わってくるのがミソです。

 

  1. メイドにお願いする場合
  2. ご主人様が自分でやる場合

二つのアプローチを紹介しましたね。

 

スポンサーリンク

 

検索アルゴリズムの1つ☆線形探索をご紹介

プロも使っている、簡単なアルゴリズムも説明しますね。

お待たせいたしました、メイドたちとご主人様の登場で~す。

 

●ご主人様がメイドにお金を盗まれた!?

 

ご主人様
大変だ。金庫に保管していたお金がない…
ご主人様
メイド1人1人に聞いてみよう
ご主人様
全メイド達、集合!!

 

メイドA
なんか用ですか?
メイドB
気持ち悪い声を出さないで下さい。
メイドC
そのまま召されて下さい

 

金庫に保管していたお金がない為、ご主人様はメイド達を1列に集合させました。

そしてメイド一人一人にこう聞きます。

 

ご主人様
Aちゃん、金庫に保管していたお金知らない?
メイドA
知りません

 

ご主人様
Bちゃん、金庫に保管していたお金知らない?
メイドB
私の事疑ってるんですか?メイド侵害で訴えますよ

 

ご主人様
Cちゃん、金庫に保管していたお金知らない?
メイドC
あれって、私の今月分の給料じゃないの?

 

ご主人様
(やばい、目が涙でかすんできたよ

 

この犯人探しの手順が、線形探索です。

 

もう少し詳しく見ていきますね。

ご主人様は先頭のメイドから、順に質問を投げかけています。

 

メイドA → メイドB → メイドC

目的の回答を得るまで、順番に犯人探しをしていますね。

 

  1. 先頭から順に探索。
  2. 目的が達成されたら、そこで探索終了。

この2ステップが、線形探索といわれるアルゴリズムです。

効率の良いアルゴリズムは先人たちが残している

「底辺 × 高さ ÷ 2」

三角形の面積を求めるアプローチの一つですね。

この計算式もアルゴリズム。

 

先人たちが色々なアルゴリズムを残していて、効率のよいパターンは決まっています。

遠慮なく、昔の知恵を借りましょう。

オリジナルで考えるのもアリですよ。

 

今回のまとめ

  1. アルゴリズムとは、ある目的に対してのアプローチの仕方のこと
  2. アルゴリズム次第で、効率が変わってくる
  3. 先人達が残した、効率の良いアルゴリズムを勉強することも大切

 

スポンサーリンク