はるのぶろぐ。

情報系大学生ハルが、ゆるゆるとIT関係についてや日々の雑記を綴ります。ちょっとだけ、あなたの役に立てる、そんなブログを目指しています。

【初心者向け】AtCoderを勉強するためのおすすめの本【2022年最新版】

参加してます!ポチッとお願いします

記事名と
URLをコピー

この記事は、

AtCoderを最近始めたけど、どんな本で学べばいいか分からない・・・
勉強におすすめな本ってあるの…?
勉強はしたいけど難しい本は読みたくない…!

そんなふうに思っている方に向けて書いています。

はじめまして、私は、情報系大学に通う、情報系大学生のハル(Blog_IT_haru)です。

私も、最近AtCoderを始めました。

そこで、色々本を私も学ぶために、探しました。

しかし、中々満足なものが見つかりませんでした。

AtCoderというものは、会社設立2012年6月20日と、とても歴史が長いものです。

歴史が長いということは、AtCoderのおすすめされている本も、少し古いものも増えてきています。

今回の記事では、古い本も、中には紹介しておりますが、補足もしているので、ご安心ください。

また、基本的には”本”を紹介しておりますが、勉強するにあたって、参考にすると良いサイトなども補足として、紹介しておりますので、ぜひご活用ください。

f:id:Blog_IT:20220224195530p:plain

AtCoderを元に書かれている本

問題解決のための「アルゴリズム×数学」がきちんと身につく本

問題解決のための「アルゴリズム×数学」がきちんと身につく本は、最近(2021/12/22)に、発売された本です。

つまり、最近のAtCoderを反映された本であるため、最近始めた方にも、参考になります。

私もこの本を購入しましたが、フルカラーなので読みやすく、難しい本に抵抗がある初心者にも、とても手に取りやすい本です。

ちなみに、サンプルコードはC++です。

この本は、AtCoderで、レッドコーダーである、@e869120さんによって書かれた本です。

@e869120さんのTwitterを見ていただくと、この方は、以下のような、スライドなどをT挙げられており、とても完成度が高いです。

そのため、本も、分かりやすいものであると、確証ができるはずです。

この本の練習問題は、AtCoderに特設コンテストがあり、そこで、答え合わせなどを行うことができるため、実践的にも学ぶことができ、とても便利です。

以下より、AtCoderのページに飛ぶことができます。

以下より、ぜひ見てみてください。

atcoder.jp

Amazonでは、商品イメージより、チラ見せ、楽天でも、アプリで立ち読みより、少し、内容を確認することが出来ます。

2022年2月現在、Amazon楽天では、電子書籍もありますが、Yahooは、紙書籍のみです。

問題解決力を鍛える!アルゴリズムとデータ構造

この問題解決力を鍛える!アルゴリズムとデータ構造は、最近(2020/10/2)に、発売された本です。

そのため、この本は、最近のAtCoderをしっかりと反映されています。

この本は、読んでみて、問題解決のための「アルゴリズム×数学」がきちんと身につく本よりは、フルカラーではないのもあって、ビジュアル的な分かりやすさは少ないと感じました。

ただ、高校の参考書のようにシンプルな作りで、効果的にカラーが使われているため、参考書のような本に慣れている方にとっても、見やすく、分かりやすい本です。

ちなみに、サンプルコードはC++です。

この本の著者の方は、Qiitaやはてなブログで、AtCoderアルゴリズムなどについて書かれたりしています。

drken - Qiita

アルゴリズム本、書きました! - けんちょんの競プロ精進記録

ニックネームで、けんちょんさんが書かれているため、通称、けんちょん本です。

また、この方は、とても有名な、AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiitaを公開されている方です。

なので、これを読んでいただければ、文章などのイメージはできるはずです。

ただ、演習問題のページは、AtCoderにはなく、自分でやってもらう形になります。

商品については、以下より確認いただけます。

Amazon楽天、Yahoo全てで電子書籍もあります。

アルゴリズム実技検定

そもそも、アルゴリズム実技検定とは、

世界最大級の競技プログラミングコンテストサイトを運営するAtCoder社による、
1からプログラムを作成する能力を問う、実践を想定した日本初の検定です。

引用:アルゴリズム実技検定 | AtCoder

この本は、アルゴリズム実技検定の、公式テキストになります。

この本は、C++ではなく、Pythonになります。

初心者~中級者向けのため、初心者の方にも、おすすめの一冊になります。

ただ、この本は、Pythonのため、基本C++で行われているAtCoderという点で考えると、Pythonでやりたい!と考えている人にのみ、おすすめできる本ということになります。

AtCoder社の社長である、高橋直大さんが監修しているため、とても信頼できる本であります。

アルゴリズム実技検定は、以下より受験できます。

アルゴリズム実技検定 | AtCoder

3, 6, 9, 12月第一土曜日問題更新ですが、過去問として、AtCoder上に載っていますので、確認してみてください。

第一回 アルゴリズム実技検定 過去問 - AtCoder

以下より確認できます。

Amazon楽天、Yahoo全てで電子書籍もあります。

出版社:マイナビ出版 発売日:2021/2/27
税込3445円(Amazonより,2022年3月確認)
 

その他の競技プログラミングを元に書かれている本

プログラミングコンテストチャレンジブック

こちらは、昔から存在する本で、通称”蟻本”です。

発売日は、2012/1/28で、だいぶ古い本ですね。

蟻本に載っている例題はほぼすべてPOJ*1上の問題で、そもそも、AtCoder用に作られていません。

また、この本は、C++のコードを掲載されていますが、初心者には、少し内容が難しいと感じることが多々あるかもしれません。

C++について、全く知らない本当の初心者には、こちらはおすすめできません。

POJを元にしている本ではあるんですが、Qiitaで、先程紹介した『問題解決力を鍛える!アルゴリズムとデータ構造』の著者のけんちょんさんによるAtCoder版蟻本と称した記事が書かれています。

そのため、この本+以下の記事で、対応することが可能です。

AtCoder 版!蟻本 (初級編) - Qiita

AtCoder 版!蟻本 (中級編) - Qiita

難易度は、そこそこ高めです。

以下より、本を確認できます。

Amazon楽天、Yahoo全てで、電子書籍もあります。

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

こちらも昔から存在している競プロ本の一つで、通称、TLE本や螺旋本です。

こちらは、AOJ*2を元に書かれており、AtCoderを対象とはしていません。

掲載コードは、疑似コードで、演算子などは、C/C++を模倣したものを使用しています。

この本について、AtCoder社長であるchokudaiさんは、以下のように評価しています。

このような評価から見ても、本当の競プロ初心者には、おすすめできず、少し慣れてきてから、取り組むのが良いです。

ただ、難易度は、そこまで高くないです。

以下より確認することができます。

Amazon楽天、Yahoo全てで電子書籍もあります。

オンラインジャッジではじめるC/C++プログラミング入門

こちらも、昔から存在する本です。

ただし、こちらも、AOJを元にしている本です。

AOJの問題と、連動しています。

AOJのページは以下です。

http://judge.u-aizu.ac.jp/onlinejudge/

会津大学のオンライン・ジャッジシステム(AIZU ONLINE JUDGE)のコース問題を題材にした公式解説書です。引用:https://www.amazon.co.jp/dp/B00L7FYBMK/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

また、本当の基礎の本なので、本格的にやりたいと思った際には、あまり向かないかもしれません。

AtCoder社長のchokudaiさんは、以下のように評価されています。

以下より、確認できます。

Amazon楽天、Yahoo全てで電子書籍もあります。

AmazonKindleでは、KindleUnlimitedで無料で読むことができます。

最強最速アルゴリズマー養成講座

この本は、AtCoder社長、高橋直大(chokudai)による本です。

通称、チーター本です。

問題は、Topcoder*3を引用しているので、AtCoder用の本、ということではありません。

掲載コードは、C#JavaC++です。

ただ、この本は、初心者には分かりづらいため、本当の初心者には、おすすめできないです。

中級者向けですね。

考え方を学びたい方にはおすすめです。

chokudaiさんのツイートは以下です。

以下より、確認できます。

Amazonなどで、試し読みしてみるのがおすすめです。

Amazon楽天、Yahoo全てで電子書籍もあります。

その他アルゴリズムを勉強するための本

以下紹介する本は、競技プログラミング向けの本ではなく、アルゴリズムを学びたい方におすすめな本たちです。

アルゴリズム図鑑

こちらは、そもそも、アプリだったものが書籍化したものになります。

並び替えのソートや、グラフ探索などについて、ビジュアルで理解できる、とても良いアプリです。

私も購入しており、とっても分かりやすくておすすめです。

書籍で読みたい方は、本、ビジュアルで動き込でアルゴリズムを学びたい方はアプリというのが良いです。

アプリは以下になります。

無料でも、ある程度のアルゴリズムは見ることができます。

アルゴリズム図鑑

アルゴリズム図鑑

Moriteru Ishida無料posted withアプリーチ

こちらを本に起こしたのが、以下の本になります。

アプリを使ってみてから、本にも興味が出れば、使ってみるのがおすすめです。

以下より確認できます。

Amazon楽天では電子書籍がありますが、Yahooは紙書籍のみです。

出版社:翔泳社 発売日:2017/6/6
税込2618円(Amazonより,2022年3月確認)
 

C言語で学ぶアルゴリズムとデータ構造

この本は、大学の授業で使ったのですが、とても良い本だと思います。

アルゴリズムを全体的にC言語で網羅しており、分かりやすい本です。

以下からは、全ソースプログラム、演習問題の解答プログラム、第1章 基本的なアルゴリズム、第7章 集合、索引をダウンロードすることができます。

BohYoh.com【著書】新・明解 C言語で学ぶアルゴリズムとデータ構造《ダウンロード》

また、出版社のページでは、アルゴリズム体験学習ソフトウェアをダウンロードすることができ、アルゴリズムの動きをビジュアル的に確認できます。

「アルゴリズム体験学習ソフトウェア」 | SBクリエイティブ

C言語で、アルゴリズムを学んでいた私にとっては、とても分かりやすい本でした。

コードも書いてありますし、詳細な説明もあり、分かりやすいです。

以下より確認できます。

Amazon楽天では電子書籍がありますが、Yahooは紙書籍のみです。

また、同じ著者で、『Pythonで学ぶアルゴリズムとデータ構造』という、Python版、『Javaで学ぶアルゴリズムとデータ構造』というJava版もあります。

Python版は、以下より確認できます。

Amazon楽天、Yahoo全てで電子書籍もあります。

Java版は、以下より確認できます。

Amazon楽天、Yahoo全てで電子書籍もあります。

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

とてもわかり易く、イラストなどで説明されていて、見やすい本です。

アルゴリズム図鑑と似た感じだと感じるかもしれませんが、こちらには、アルゴリズムの紹介と、図や絵、またコードがついているので、より実践的でありながら、初心者向けで、手に取りやすい感じです。

コードも、C言語以外に、JavaScript,Java,PHP.Swift,Python,BASIC,Scratchなどのコードもついているので、とてもお得感があります。

全体的にとても分かりやすく、初心者で、難しい本が嫌だ!という方には、とても向いています。

以下より確認できます。

Amazon楽天、Yahoo全てで電子書籍もあります。

難易度・価格・おすすめ度などのまとめ

難易度については、目安としてお考えください。

書籍名 定価全て紙版,税込み 掲載言語 難易度 AtCoder対応 電子書籍
問題解決のための「アルゴリズム×数学」がきちんと身につく本 2948円 C++ やさしい ありYahooは無し
問題解決力を鍛える!アルゴリズムとデータ構造 3300円 C++ ふつう あり
アルゴリズム実技検定 3828円 Python ふつう

※公式テキスト

あり
プログラミングコンテストチャレンジブック 3608円 C++ やや難しい

AtCoder版!蟻本で対応

POJに対応

あり
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 3938円 疑似コード一部C/C++模倣 やさしい ×AOJに対応 あり
オンラインジャッジではじめるC/C++プログラミング入門 3135円 C/C++ やさしい ×AOJに対応 あり
最強最速アルゴリズマー養成講座 3080円 C#,Java,C++ やや難しい ×AOJに対応 あり
アルゴリズム図鑑 2618円 なし 超やさしい × ありYahooは無し
C言語で学ぶアルゴリズムとデータ構造 2750円 C言語 ふつう × ありYahooは無し
アルゴリズムとプログラミングの図鑑 2739円 様々 超やさしい × あり

まとめ

いかがでしたか?

AtCoderを始めたいと思っている、初心者の方に参考になれば嬉しいです。

この記事がいいな、と思ってくれたら、SNSなどで拡散したり、

ブックマークやコメントなどしてくれると励みになります!

下の方とサイドバーにある、サポートもお待ちしています!

更に、読者になってくれたら、お返しに私も読者になります!

また、この記事の内容についてなにかありましたら、

お問い合わせ、コメント、TwitterのDMなどによろしくお願いします。

それでは。

注釈

*1:PKU JudgeOnlineのことで、PKUやPOJと略される。C、C++JavaFortranが使用可能であり、北京大学により運営されている。リンクは、http://poj.org/である。

*2:Aizu Online Judgeのこと。会津大学により運営されている。サイトリンクはhttps://judge.u-aizu.ac.jp/onlinejudge/である。

*3:世界三大競技プログラミングサイトの一つで、最も歴史が長い。リンクはTopcoder Top Technology Talent On-DemandAtCoderなどと違い、標準入出力を使用しないのが特徴