kNakajima's Blog

技術系のアウトプットブログです。

「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」を読んだ感想

 

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

 

学部2年生の時のアルゴリズム演習の授業で教科書に指定されていました。基本的なアルゴリズムの復習とC++の勉強ということで2章までの問題を一通り解いてみたので、身についたこと、感想を記します。

 

本書本をやって身についたこと

基本的なアルゴリズムとデータ構造

ここでいう「基本的なアルゴリズムとデータ構造」とは、大学の教科書に載っているような内容のことです。例えば、ソートやスタック、キューなどといった多くの言語でライブラリとして用意されている処理も、理論の解説とコード例が記載されていて、自分で手を動かして動作を確認することができます。

競技プログラミングで必要な知識

本書では競技プログラミングで重要な、再帰動的計画法、グラフの内容も含まれています。そしてそれらの知識を演習問題を解きながら身につけていくことができます。また、言語はC++で書かれていますが、C++STLの利用例も載っているため、C++の知識が不足している(制御文,配列が分かる程度)人にもおすすめだと思います。

感想

結論として、基礎からアルゴリズムを学びつつ、競技プログラミングの基礎を身につけたいという人にはオススメです。理論を読むだけでは定着しにくい内容に対して、自分で手を動かしてコードを書いて確認できるという点が良いです。一方、競技プログラミングに特化した勉強がしたい人、ある程度コンテストに参加して、基本的なプログラミング、アルゴリズムが身についている人は、本書はスキップして蟻本に手をつけてよいと思います。