見出し画像

【読書レビュー】アルゴリズムとプログラミングの図鑑

基本情報技術者試験などのアルゴリズムの問題がよく分からな・・・

他のアルゴリズムの本を読んでみたけど、いまいちよくわからない・・・

複数のプログラミング言語で書き方を比較したい・・・

At Coder などの競技プログラミングの勉強を始めた・・・

そんな方に、おすすめの本を紹介します!

本書はほとんどが図解されており、かなり丁寧にアルゴリズムの考え方が解説されています。

そのため、紹介されているアルゴリズムの量はそこまで多くないですが、
基本的なことを理解するのにはもってこいの本です。

ぜひ一度、ご自身で手に取ってみて下さい!

それでは、紹介して行きます!

■アルゴリズムってなに?

アルゴリズムって聞くと
どんなことを思い浮かべますか?

「アルゴリズム体操はじめ!」
 「アルゴリズム体操はじめっ!」
  「こっち向いて〜」

ってはじまりそうですが、

本書では体操はしてないです 笑

アルゴリズムを考える前にまず、
あなたはなぜ、パソコンやスマホを使いますか??

仕事で必要だから・・・?
スマホがないと生きていけいないから・・・??

そうでしょう、今や必需品ですよね。

もう少し、掘り下げてみましょう。


スマホやパソコンで普段何してますか?

・写真やデータを撮る、作って保存する
・安全に資料をメールやSNSで送る
・データを集計する
・面白そうな動画や記事を見つける
・気になったコスメを調べる
・気になったお店への行き方を調べる

など、いろんなことやってますよね。

これって、こういうこと、便利にできたらいいなぁ〜
っていう思いを叶えてきた結果なんですよね。

なので、

パソコン&スマホを使う理由 =  「問題を解決すること」

そして、その問題を解決するために、パソコンやスマホを動かすもの

それが、

コンピュータを動かすもの = 「プログラム」

ただ、パソコンやスマホはプログラムに書かれたことしかできません。

なので、

プログラムの中身が重要になります。

何をプログラムに命令して、問題を解決するか?

ってことですね。

その時の問題解決の考え方

これが、アルゴリズムです!

「アルゴリズム」 = 問題を解決する考え方 


■アルゴリズムっていつ使うの??

アルゴリズムが何者なのか?

何となくわかったけど、どう考えればいいの?

天才が考えたものだし、凡人にはわかりませーん。。。

ってなりそうですが

アルゴリズムを考えるっていうのは
普通の人が問題解決するのと同じことをすれば良いと言ってます。

どういうことか?まずは問題を整理することから始めます。

①目的
②現状
③結果

まず、これらをはっきりさせていきましょう

①目的
 どんな問題を解決したいのか、その叶えたい目的をはっきりさせます。

②現状
 現状はプログラムを考える時のインプットと一緒です。
 今、どんな状態か?どんな前提条件があるか確認していきます。 

③結果
 どんな結果になっていると、目的を果たせるのか?
 求める結果=アウトプットを明確にします。

①目的、②現状、③結果が整理できたら

あとはどう対応すれば、求める結果になるを考えればよい

その時、先人の知恵を拝借。

その知恵を拝借する行為がアルゴリズムを勉強することなんです。

■感想

この本は試験勉強用に読み始めました。

なぜかって言うと、アルゴリズムに強い苦手意識があったから。

基本情報技術者試験でいつも全く分からず、点が取れなかった記憶。

日商プログラミング検定で、アルゴリズムをコーデぃングできず、タイムアップになった記憶。

何でアルゴリズムなんて科目があるんだーー

って思ってました。

でも、この本に出逢ってアルゴリズムって使えるじゃん!?
なんだ、こういうことを言ってたのか!?

図解が多いので、何となくイメージできる。
イメージできるから、頑張って読み進められる。

そして、理解できる。

私と同じようにアルゴリズムに苦手意識のある人に届けたい。

そんな一冊でした!

最後まで読んでくださり、ありがとうございました。

この記事が、読んでくださった方の
何かを掴むきっかけになれば幸いです。

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

読書感想文

宜しければサポートをお願いします! これからも、読んでくださった方のお役に立てる情報を提供していきます♪