40代プログラミング未経験から独学してみる

40歳未経験者がPythonプログラミングの勉強をメインに、読書や京都のことを書いていく。

『プログラミングコンテストチャレンジブック(第2版)』の読み方

こんにちは。

Pythonの基本的な文法は一通り学んだので、
最近はアルゴリズムの勉強をしている。

使っている本は
プログラミングコンテストチャレンジブック』

アルゴリズムに関する標準問題や解法とコードが
のっていて、大学受験の数学の問題集みたいな感じ
なので勉強しやすい。

カバーしている範囲は広くて、アルゴリズム
定石をだいたい勉強できるのではないか、と思う。

問題は実際にPOJなどに出題されたものが
使われているけど、難しくて文法を一通り
終えたぐらいでは解けない。

定石のアルゴリズムについては理解していて、
コード化のテクニックも知っておかないと、
解けない。

例えば、フィボナッチ数列の第N項を求める
問題では、行列の積を使っているが、
普通に考えてループを使ってコードを
組むと時間が足りない、となる。

あと、計算幾何の凸包や
ネットワークフローの最大流最小カットなど、
知識量がかなり必要である。

背景となる知識が足りなくて、
この本だけでは理解できないところは、
アルゴリズム・イントロダクション』を
参考するようにしている。

問題を自分で解こうとして考えるのに、
あまり時間を費やさないようにしている。
問題に対して、定石のアルゴリズムをいかに
適用させるのか、なので定石を一から発見
するのは難しいし、時間がいくらあっても
足りない。

理解して、コードの実装をみにつけて、
知識のストックがあれば、あとは問題を
いかに知っているアルゴリズムと結びつけるのか、
について訓練する。