今回は、基本情報処理技術者試験(FE)のアルゴリズムの勉強方法について説明します。

本記事の内容は以下の通り。

・アルゴリズムの勉強は問題集だけだと厳しい
・アルゴリズムの具体的な勉強方法

基本情報処理技術者試験は大半の問題が過去問だけで上達できると思いますが、アルゴリズムの問題は過去問を解くだけでは厳しいです。
プログラムを書いたりトレースしたりしてプログラムがどのように動くか理解しましょう。

アルゴリズムの勉強は問題集だけだと厳しい

数字と本
基本情報処理技術者試験の大半の問題は過去問題集を何回か解いて解説を読めばほぼほぼ理解できると思います。
しかし、アルゴリズムとプログラミングの問題に関しては問題集を解くだけでは理解が難しいです。

問題を解くだけだとプログラムが動くイメージができないため、解説を読んでもしっくり来ないんですよね。

私は問題だけ解くことに意味がないことに気づくまでにモーレツに時間を使ってしまったので何回も試験に落ちています。

アルゴリズムとプログラミングは午後問題の配点の40%を占めているので、この2つを理解しておかないと合格は遠いです。
逆に言えばこの2つができればかなり合格に近くなります。

アルゴリズムの解き方はプログラミングの問題を解く場合にも応用できることも多いです。
まずはアルゴリズムについて理解してプログラミングについても勉強しておきましょう。

アルゴリズムの具体的な勉強方法

アルゴリズム
アルゴリズムの勉強方法として以下の2つの方法を紹介します。

・アルゴリズムを実際にプログラムに書いて動かす
・机上でトレースする

アルゴリズムを実際にプログラムに書いて動かす

最も有効な方法がアルゴリズムを実際に書いて動かしてみる方法です。実際に動かすことで「プログラムがどのように動くか」というイメージが頭にできてきます。
プログラムが動くイメージがあるかどうかでアルゴリズムの問題の解きやすさは大分変わります。

アルゴリズムが再現できる言語であればプログラミング言語は何でもOK。

プログラムを実際に動かす時にチェックするポイントは以下です。

・入力値:引数としてアルゴリズムに渡す値
・出力値:リターン値。アルゴリズムを実行した結果得られる値
・途中の値の変化:途中の値の変化
・問題の選択肢:選択肢によるリターン値の変化

不正解の選択肢での動作確認もしましょう。
なぜこの選択肢ならよくて他の選択肢がダメなのかということをより理解できます。

机上でトレースする

トレースとは実際にプログラムを動かさずに目でプログラミングやアルゴリズムの処理を追う方法です。
実際に動かすことと比較すると少し難易度が上がります。

最初はプログラムを実際に動かしてみて、慣れてきたらトレースしてみるというのがオススメです。

トレースができるようになればプログラムを書く時間を短縮できるので勉強速度をあげることができます。

具体的なトレースの方法については「アルゴリズムのトレース方法」も合わせてお読みください。

トレースでチェックするポイントもプログラミングを動かす場合と同じで以下の4つです。

・入力値:引数としてアルゴリズムに渡す値
・出力値:リターン値。アルゴリズムを実行した結果得られる値
・途中の値の変化:途中の値の変化
・問題の選択肢:選択肢によるリターン値の変化

不正解の選択についてもトレースしてなぜこの選択肢ではないといけないのかを理解しておきましょう。

終わりに

基本情報処理技術者試験の大半の問題は過去問題集を解いていれば得点できるようになります。
しかし、アルゴリズムの問題はプログラムが動くイメージがないと解くのが難しいため、過去問題集の勉強だけでは不十分です。私はそこに気づくのに時間がかかってしまい多くのお金と時間を無駄にしてしまいました。

午後問題のアルゴリズムの配点20%くらいです。アルゴリズムは選択必須の問題でもあるため、アルゴリズムが解けるかどうかが合格に大きく左右します。
アルゴリズムの勉強方法はプログラミングの問題にも応用できるので、まずはアルゴリズムの勉強をして得点を取れるようにしましょう。

関連記事>>アルゴリズムをPythonで勉強しよう〜実践編〜

基本情報処理技術者対策まとめ>>基本情報処理技術者(FE)の対策まとめ