人気過去連載を電子書籍化して無料ダウンロード提供する@IT eBookシリーズ。第29弾では「コーディングに役立つ!アルゴリズムの基本」10回分を1冊のPDFとしてまとめた。アルゴリズムとは何か? なぜ学ぶべきなのだろうか?
アルゴリズムとは、問題を解く、課題を解決するための手順です。それを学ぶことで人は何を得るのでしょうか。
2008年8月から始まり2009年5月に終わった人気連載「コーディングに役立つ!アルゴリズムの基本」の第1回「いまさらアルゴリズムを学ぶ意味」で筆者は、下記のように述べています。
「IT技術者である読者の皆さんなら、普段から何げなく「アルゴリズム」という言葉はよく使っていることでしょう。しかしあらためて「『アルゴリズム』とは何か」と問われて、すぐに明快に答えられるでしょうか。
また、IT技術者であってもアルゴリズムをきちんと勉強した人は意外と多くないのではないでしょうか。大学で学んだ、入社後の新人研修で学んだという人もいるかもしれません。それでもしばらく開発の現場に出ているうちに忘れてしまった、という人もいることでしょう。
この連載ではアルゴリズムを学ぶ、または学び直すことで、プログラミングのスキルを深めていきます。アルゴリズムは学問として取り扱われることが多いですが、この連載では開発の現場に役立つスキルを身に付けることを目的とします。『アルゴリズムなんていまさら勉強する意味がない』と思った方。ひとまず、この第1回目を読んでみてください」
これは9年近くたった2017年6月現在でも通じることではないでしょうか。さまざまなプログラミング言語やフレームワーク/ライブラリ、開発/設計/運用手法のはやりすたり、スマホやSNS、クラウド、ビッグデータ、そして機械学習/Deep Learningの登場と目まぐるしい変化がありましたが、いつの時代も変わらず重要なのは、コンピュータに出す命令をどのようなアルゴリズムで実装、プログラミングするかです。
下記のように、昔からあるものから最近のものまで、さまざまなテクノロジーでアルゴリズムは活躍します。
人気連載を1冊にまとめてダウンロードできる@ITの電子書籍。第29弾は、連載「コーディングに役立つ!アルゴリズムの基本」10回分を1冊のPDFとしてまとめました。
2008年当時流行した、「世界のナベアツ」という芸人(現在の芸名は「桂三度」)の持ちネタ「1から40までの数を数えていく途中で、3の倍数と3の付く数字のときだけアホになる」をコンピュータ上で実現するにはどうしたらよいかを皮切りに、フローチャートの書き方、データ構造、再帰的アルゴリズム、ソート、探索、データ圧縮といった基本的なアルゴリズム、最後にレコメンデーションのアルゴリズムまでを、JavaScriptと豊富な図版で学ぶことができます。
IT、つまりコンピュータが実生活に溶け込み、ビジネスを先導する昨今、アルゴリズムを学ぶことは、ITエンジニアはもちろん、コンピュータに関わって生活しているあらゆる人の助けになるはずです。連載の筆者も「アルゴリズムを学ぶことは、コンピュータ的な発想ができるようになるためのトレーニングなのです」としています。ぜひご一読ください。
※@IT eBookシリーズについてはこちらをご覧ください。
Copyright © ITmedia, Inc. All Rights Reserved.