Photo by iStock

東大生が教えるコンピュータ「お片付け」アルゴリズムの秘密

数字を並べる「ソートアルゴリズム」
私たちは漫画が床に散らばっていたら、1巻、2巻……と順に並べながら本棚に戻しますよね。そんなふうに当たり前な「お片付け」も、コンピュータにやらせるとなると一筋縄ではいきません。

新シリーズ「現役東大生のサイエンス入門」第2回は、「並べて片付けるのをコンピュータにやらせるにはどうすれば良いか」について解説してみます。

アルゴリズムは意外と身近に

どうやって片付けるかを見る前に、「アルゴリズム」という言葉について知っておきましょう。アルゴリズムとは、数学やコンピュータを使った計算などにおいて、問題を解くための手順のことを言います。

 

……と言っても、これだけでは少し分かりにくいかもしれませんね。

みなさんはどうやって歩いているか考えたことはありますか? 「右足を出して」「体を前に出して」「左足を出す」……これで前に2歩進めましたね。

Photo by iStock
拡大画像表示

これをひたすらくり返すことで歩くことができます。じつはこれは、アルゴリズムの一種とも言えるのです。

アルゴリズムとは、簡単にいうと、ある手順をくり返すことで作業を進められる、コンピュータ用の命令リストのようなものなのです。コンピュータは私たち人間のように感覚で行動することはできません。アルゴリズムとして一手順ずつ細かく伝えてもらった命令しか実行できないのです。

アルゴリズムを視覚化した図がフローチャート Photo by iStock
拡大画像表示

その一方で、コンピュータには、人間をはるかに超えたスピードで命令されたことを行うことができるという利点があります。だからこそ、今日まで多くの人々がさまざまなアルゴリズムをつくってきました。

その中から、たくさんの数字を効率よく整列させるためのアルゴリズムである、「ソートアルゴリズム」について見ていこうと思います。

バブルソート

まずは最も簡単なソートアルゴリズムであるバブルソートについてご紹介します。