スクリーンショット_2020-02-29_17

アルゴリズムとプログラミング

概要

なぜプログラマーがアルゴリズムを学んだ方がいいのか。自分なりに勉強してみて思ったことをシェアします。

はじまり

昨年PHPカンファレンスに行った際、プログラミングを行ううえで大事なのは、まずはコンピュータが表現するアルゴリズムを学ぶことが大事だと講演の中で発表されている人がいました。パソコンやらITやらに疎い状態からプログラマーに挑戦した私は、「アルゴリズム?ピタゴラスイッチとかかな?」ぐらいしか思い浮かばなかったのですが、初心者で勉強しておいた方がいいというならしておこうじゃないか!という感じで現在に至ります。

アルゴリズムとは

時間の経過に従って論理的に、もれなく、正確に細かく示した処理手順


どういうことかと言いますと、例えば出社前の朝のルーティーン。起きたらまず顔を洗って歯を磨いて朝食のパンを焼いている間に着替えを済ませて、、どうすれば朝の忙しい時間に準備を効率的に短期間で終わらせることができるのか考えられたルーティーン。皆さんも毎朝決まったルーティーンがあるんじゃないでしょうか?
このルーティーンも実は一種のアルゴリズムなのです。

プログラミングとは

ではプログラミングとはなんでしょう?こんな風に定義されていました。

アルゴリズムを考え、それをコンピュータが理解できる言語に書き換える


つまり私たちは、論理的で効率的で正確な処理手順を考えてそれをコードに起こしているのです。
ということは、
アルゴリズムの良し悪しによってプログラムの良し悪しが決まる

こういう理由で「アルゴリズムを学ぶことが重要」と言えるのではないでしょうか。

どうやってアルゴリズムを学んだか

過去形になっていますが、実際まだまだ学びの途中です。

まずは社長に勧められた「世界で最も強力な9のアルゴリズム」に挑戦しました。アルゴリズムがなんなのかわからない人でも読めるように解説しているとありましたが、本全体から醸し出される「難しい本」オーラと数学が大の苦手な私は若干の拒否反応とともに打ちのめされました。内容的には普段意識せずに使っているものの仕組みを解説してくれるので興味深い内容でした。例え話を用いてわかりやすい章もあったり、私の頭が固かっただけで一般的にみるととてもおすすめできる本だと思います。いくつかアルゴリズムの本を呼んだ後に呼んでみるとより理解しやすいと思います。

次はがくんとレベルを下げて「トコトンやさしいアルゴリズムの本」を手に取ってみました。表紙からもわかる「優しそうな本」オーラに魅了されたのです(笑)身の回りにある様々なものが私たちが意識していないだけでアルゴリズムなのだよと例を多用して教えてくれるので、アルゴリズムに対するとっつきにくさを緩和してくれました。
この本を読んで、なぜ「アルゴリズムを学ぶこと」が重要なのかしっくりきた感じがしたのです。

カンファレンスの際におすすめしていた「アルゴリズム図鑑」はこちら。絵や図が多くわかりやすいです!

まとめ

まだ私は入り口に立ったばかりで実際のアルゴリズを習得していないので、学習の理由を理解したところで、これからアルゴリズムの世界をのぞいてみいきます!

スキを押していただけると嬉しいです!フォローしていただけるともっと頑張れます!

この記事が参加している募集

推薦図書

サポートしていただけるとこれからも続ける励みになります! 書籍購入などに使わせていただく予定です! 何卒よろしくお願いします^^