【2020年】アルゴリズム/データ構造の本「最新・人気のおすすめの10冊」

ゲームプログラミングや競技プログラミングなど、処理速度や高度な問題解決が必要なジャンルで必須の知識となる「アルゴリズム・データ構造」。

最適なアルゴリズムやデータ構造を選択しないだけで、処理速度が10倍違う、なんてことはざら

ハイパフォーマンス、リアルタイム性の求められるプログラミングに従事する方、処理速度への意識が高い方は、基本は一通り身につけておきましょう。

こちらでは「アルゴリズム・データ構造」の参考書を人気とともに紹介していきます。

 
Kindle Paperwhite
発売日 2018/11/07
通常 13,980円
現在 13,980円

 

 

Kindle Unlimited 1ヶ月無料

kindle_unlimited_sale
 
  • 1ヶ月無料で読み放題
  • 1ヶ月以内でも解約可能
  • 解約後も1ヶ月まで利用可


    

アルゴリズムの参考書「人気ランキング 20冊」

アルゴリズムの今売れ筋本を人気ランキングで一覧したのが以下。

ランキングは日々更新されていますので、最新の人気が反映されています。

 

(2020/12/01 更新)
売筋
Rank
製品評価
1
(4.9)
総評価数 15件
2
見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑...
発売日 2019/04/17
通常    2,948円
単行本   2,948円 (+29pt)
Kindle   1,474円 (+15pt)
(4)
総評価数 51件
3
アルゴリズム図鑑 絵で見てわかる26のアルゴリズム
発売日 2017/06/05
通常    2,618円
単行本   2,618円 (+26pt)
Kindle   1,309円 (+13pt)
(4.3)
総評価数 76件
4
Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量...
発売日 2020/01/24
通常    2,420円
単行本   2,420円 (+24pt)
Kindle   1,210円 (+12pt)
(3.7)
総評価数 18件
5
(0)
総評価数 0件
6
(4)
総評価数 30件
7
量子コンピューティング ―基本アルゴリズムから量子機械学習まで―...
発売日 2020/11/09
通常    3,520円
単行本   3,520円 (+35pt)
Kindle   3,344円 (+33pt)
(5)
総評価数 1件
8
もっとプログラマ脳を鍛える数学パズル アルゴリズムが脳にしみ込む70問...
発売日 2018/02/19
通常    2,838円
単行本   2,838円 (+58pt)
Kindle   1,419円 (+14pt)
(4.4)
総評価数 5件
9
(4.4)
総評価数 7件
10
(4.4)
総評価数 50件
11
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造...
発売日 2015/01/30
通常    3,938円
単行本   3,938円 (+39pt)
Kindle   3,544円 (+35pt)
(4.2)
総評価数 48件
12
アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書...
発売日 2018/01/09
通常    15,400円
単行本   15,400円 (+154pt)
Kindle   7,700円 (+77pt)
(4.7)
総評価数 9件
13
(4.3)
総評価数 5件
14
ファイナンス機械学習―金融市場分析を変える機械学習アルゴリズムの理論と実践...
発売日 2019/12/27
通常    5,280円
単行本   5,280円 (+53pt)
Kindle   4,752円 (+48pt)
(4)
総評価数 14件
15
ゲームの作り方 改訂版 Unityで覚える遊びのアルゴリズム...
発売日 2016/03/19
通常    4,200円
単行本   3,197円
Kindle   1,639円 (+16pt)
(3)
総評価数 10件
16
世界でもっとも強力な9のアルゴリズム
発売日 2013/10/10
通常    2,200円
単行本   2,200円 (+22pt)
Kindle   1,980円 (+20pt)
(4.4)
総評価数 61件
17
詳解 確率ロボティクス Pythonによる基礎アルゴリズムの実装 (KS理工学専門書)...
発売日 2019/10/27
通常    4,290円
単行本   4,290円 (+78pt)
Kindle   4,290円 (+1302pt)
(4.4)
総評価数 23件
18
Pythonによる問題解決のためのアルゴリズム設計技法
発売日 2020/11/13
通常    3,828円
単行本   3,828円 (+38pt)
(0)
総評価数 0件
19
なっとく!アルゴリズム
発売日 2017/01/31
通常    2,750円
単行本   2,750円 (+28pt)
Kindle   2,475円 (+25pt)
(4.4)
総評価数 18件
20
(4)
総評価数 3件

 

以降でおすすめ・注目の本をピックアップしていきまっす。

ちなみに、Kindle版のある本ならサンプル送信で試し読み可能。大概目次まで見れるので、内容の概要もつかめるので、サンプル試読おすすめです。

 

アルゴリズム・データ構造本 人気の参考書 5冊

以下が今人気(売れ筋)のアルゴリズム・データ構造本の5冊の詳細です。

(2020/12/01 更新)
売筋
Rank
製品評価
1
(4.9)
総評価数 15件
2
見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑...
発売日 2019/04/17
通常    2,948円
単行本   2,948円 (+29pt)
Kindle   1,474円 (+15pt)
(4)
総評価数 51件
3
アルゴリズム図鑑 絵で見てわかる26のアルゴリズム
発売日 2017/06/05
通常    2,618円
単行本   2,618円 (+26pt)
Kindle   1,309円 (+13pt)
(4.3)
総評価数 76件
4
Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量...
発売日 2020/01/24
通常    2,420円
単行本   2,420円 (+24pt)
Kindle   1,210円 (+12pt)
(3.7)
総評価数 18件
5
(0)
総評価数 0件

 

「問題解決力を鍛える!アルゴリズムとデータ構造 (KS情報科学専門書)」

★この本を買わずして何を買う!!★

競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。

【推薦の言葉】
プログラムが「書ける」ことと、効率の良い結果を得ることには大分ギャップがある。本書は、どのようにすれば効率のよい結果が得られるか? すなわちどのようなアルゴリズムを採用すればよいか? という点に対して、幅広くかつ明快に解説している。
また本書は、アルゴリズム初心者に対して、アルゴリズムへの興味を惹かれるように記述されている。アルゴリズム上級者への初めの一歩には最適であろう。
――河原林健一(国立情報学研究所副所長)

【全体を通して、アルゴリズムの設計技法を重視した構成】
まず、1、2章でアルゴリズムと計算量について概観します。そして、3~7章が、早くも本書のメインパートといえる部分であり、「アルゴリズムの設計技法」について詳しく解説します。これらの設計技法に関する話題は、多くの書籍では、最後の方で簡単に説明しています。しかし本書は、現実世界の問題を解決するための実践的なアルゴリズム設計技法の鍛錬を目指しています。そこで、アルゴリズム設計技法について前半で詳しく解説する構成としました。そして、これらの設計技法が後半の章でも随所に使われていくことを示していきます。

その後、8~11章では、設計したアルゴリズムを効果的に実現するうえで重要となるデータ構造を解説します。データ構造について学ぶことで、アルゴリズムの計算量を改善したり、また、C++やPythonなどで提供されている標準ライブラリの仕組みを理解して、それらを有効に活用したりすることができるようになります。

そしていったん、12章でソートアルゴリズムについての話題を挟んだ後に、13~16章でグラフアルゴリズムについて解説します。グラフは、非常に強力な数理科学的ツールです。多くの問題は、グラフに関する問題として定式化することで、見通しよく扱うことができるようになります。また、グラフアルゴリズムを設計するとき、3~7章で学ぶ設計技法や、8~11章で学ぶデータ構造が随所で活躍します。

最後に、17章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18章で、これらの難問に取り組むための方法論をまとめます。ここでも、動的計画法 (5章) や貪欲法 (7章) といった設計技法が活躍します。

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
Users Voice
今後の教科書はこの本しかないと言えるぐらい素晴らしい本でした。
レベルの高い前提知識を必要としないのに、高度な内容も容易に理解できる文章でした。
また、アルゴリズムやデータ構造をイメージして理解できるように図も大量に使われており、理解に迷うことも無いと思いました。
紹介に留まらず、擬似コードではない本物のコードが書かれているのも現代的な本だと思います。

プログラミングコンテストチャレンジブックやCoding Interviewの本を読む前にも最適な1冊だと思いました。
すごくオススメです ?( ' ꒳ `?) (参考:Amazon)

↓全て表示 ↑少なく表示
競プロerのバイブルとされる「蟻本」は網羅性の高い名著ですが、初心者にはなかなかとっかかりづらいものでした。

本書は中学数学と最低限のC++の知識(AtCoder Programming Guide for beginnersで数日で身につくものです)があれば読み進めることができ、アルゴリズムの基礎を体系的に身につけることができるようになっています。

想定読者は入門者〜緑くらいでしょうか?しかしそれ以上のレートの方にも、アルゴリズムの設計技法に重きを置いた説明は多いに参考になると思います。 (参考:Amazon)

↓全て表示 ↑少なく表示
 
  

「見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑」

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

機械学習アルゴリズムの違いが見てわかる!

「機械学習アルゴリズムは種類が多く、複雑で何をしているのかわかりにくい」と思ったこと、ありませんか?本書は、そのような機械学習アルゴリズムをオールカラーの図を用いて解説した機械学習の入門書です。
いままで複雑でわかりにくかった機械学習アルゴリズムを、図解によりわかりやすく解説しています。アルゴリズムごとに項目を立てているので、どのアルゴリズムがどのような仕組みで動いているのか比較をしやすくしています。
これから機械学習を勉強する方だけでなく、実際に機械学習を業務で使用している方にも新しい気付きを得られるのでお勧めの1冊です。

【本書の特徴】
・複雑な機械学習アルゴリズムの仕組みを1冊で学べる
・オールカラーの図をたくさん掲載
・各アルゴリズム毎にScikit-Learnを使用したコードを記載しているので、見るだけでなく試すこともできる
・仕組みだけでなく、実際の使い方や注意点もわかる

【本書で紹介するアルゴリズム】
01 線形回帰
02 正則化
03 ロジスティック回帰
04 サポートベクトルマシン
05 サポートベクトルマシン(カーネル法)
06 ナイーブベイズ
07 ランダムフォレスト
08 ニューラルネットワーク
09 kNN
10 PCA
11 LSA
12 NMF
13 LDA
14 k-means
15 混合ガウス
16 LLE
17 t-SNE

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。


↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
Users Voice
機械学習において、どの様なアルゴリズムがあるのか俯瞰するのに良いと思います。ただ、212ページで、この値段は....。 (参考:Amazon)

↓全て表示 ↑少なく表示
機械学習のための各アルゴリズムの特徴が、各アルゴリズムの冒頭に記されているのだが、これが抽象的で理解しずらい。
もう少し、歴史的な背景とかなぜこのようなアルゴリズムが必要になったのかとか実際にどのようなことに役立ってきたのかなどが記載されていないので、読者からすると入門書でありながら書かれている内容が抽象的になってしまい過ぎて理解しにくい。いろいろな簡単な例について説明されているが、このらの例も簡単すぎて実際にどのようなときに使用したらよいのか、などが分かりにくい。理論自体、あるいはそこで使用されている数学自体は簡単なものが多いので、もう少し工夫してわかりやすく書いてほしかった。内容はやさしくても、そこになぜそうなるのかという理論がわかりやすく書かれていないと理解しにくい。読者は子供の使いではないので、簡単な例だけで、こういうふうに理解しろと言われてもそれは無理だ。
結局この本だけではダメなので、インターネットで関連するいろいろな記事を読むことにより、明確なイメージをつかむことができた。 (参考:Amazon)

↓全て表示 ↑少なく表示
 
内容サンプル

(引用元Amazon)

 
見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑
発売日 2019/04/17
通常 2,948円
現在 1,474円
1,474円(50%)OFF!!

  

「アルゴリズム図鑑 絵で見てわかる26のアルゴリズム」

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

イメージがつかめるから、面白い!
アルゴリズムをまるごとイラストにしました

【本書のポイント】
・基本的な26のアルゴリズム+7つのデータ構造をすべてイラストで解説
・誌面がフルカラーなので、図の「動き」がわかりやすい
・各アルゴリズムの考え方や計算効率、問題点もフォロー
・50万人が学んだ大人気アプリを書籍化

アルゴリズムはどんな言語でプログラムを書くにしても不可欠ですが、
現場で教わることはめったになく、かといって自分で学ぶには難しいものです。

本書は、アルゴリズムを独学する人のために作りました。
はじめて学ぶときにはイメージしやすく、
復習するときには思い出しやすくなるよう、
基本的な26のアルゴリズム+7つのデータ構造を
すべてイラストにしています。

ソートやグラフなどの「動き」を図で追うことで、
考え方や仕組みを理解する手助けをします。
よいプログラムを書くために知っておかなきゃいけない
アルゴリズムの世界を、楽しく学びましょう。

●書籍のもとになったアプリ「アルゴリズム図鑑」の実績
・50万ダウンロード達成(2017年4月時点)
・2016年 App Store「今年のベストApp 10選」に選出

【目次(抜粋)】
●序章 アルゴリズムの基本
●第1章 データ構造
・リスト
・配列
・スタック など

●第2章 ソート
・バブルソート
・選択ソート
・マージソート など

●第3章 配列の探索
・線形探索
・2分探索

●第4章 グラフ探索
・幅優先探索
・ベルマン-フォード法
・A* など

●第5章 セキュリティのアルゴリズム
・暗号の基本
・公開鍵暗号方式
・デジタル署名 など

●第6章 クラスタリング
・k-means法 など

●第7章 その他のアルゴリズム
・ユークリッドの互除法
・ページランク など


※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。


↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
Users Voice
初心者と最学習に最適です。

社会人プログラマーで国家試験の高度を持っていても、理解が曖昧な人は読み返すべき参考書でしょう。
Googleの面接試験でフレームワークなどの知識ではなく、この基礎学習面を聞いてくるという噂を聞きました。

日本の人売の面接はフレームワーク知識と経験年数くらいしか聞かず、役立たずなor下手くそなアルゴリズムでプログラミング組む人を採用してますよね。
結果、応答スピードが遅いシステムが出来上がります。
マジでこれ読め。 (参考:Amazon)

↓全て表示 ↑少なく表示
この本は、アルゴリズムを図入りで丁寧に紹介している初心者向けの本。
最初の一歩には良いですね。
C言語がわかっている人には、奥村先生のC言語によるアルゴリズム辞典か、少し難しいけど、
河西先生のC言語によるはじめてのアルゴリズム入門かな。
次は、世界でもっとも強力な9のアルゴリズム、次が安くなった、The Art of Computer Programming Volume 1/2ですね。高校の数学がわかっていたら、わかるはず。 (参考:Amazon)

↓全て表示 ↑少なく表示
 
内容サンプル

(引用元Amazon)

 
アルゴリズム図鑑 絵で見てわかる26のアルゴリズム
発売日 2017/06/05
通常 2,618円
現在 1,309円
1,309円(50%)OFF!!

  

「Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量」

時代が変わっても
変わらないアルゴリズムから考え方を学ぼう

本書は、初心者にも扱いやすいプログラミング言語「Python」を使用して、
アルゴリズムの基礎・考え方を学ぶ入門書です。特にPythonがはじめてという方の
ために、第1章ではPythonの基本とデータ構造について解説しています。

本書では、プログラミング入門者が最低限知っておきたいアルゴリズムの
基礎と考え方に加えて、アルゴリズムの定石とその計算量について、具体的
なサンプルコードと動作イメージを交えて丁寧に解説していきます。

【こんな方におすすめ】
・アルゴリズムをゼロから学びたい
・Pythonでプログラミングを学んでいるけれど何から手をつけていいのかわからない
・過去にアルゴリズムを学ぼうと思ったけれどPythonの資料が少なかった
・基本情報技術者試験でPythonが取り入れられるので勉強したい

【扱うアルゴリズム】
FizzBuzz|フィボナッチ数列|線形探索|二分探索|幅優先探索|
深さ優先探索|番兵|8クイーン問題|n-クイーン問題|ハノイの塔|
ミニマックス法|選択ソート|挿入ソート|バブルソート|ヒープソート|
マージソート|クイックソート|最短経路問題|ベルマン・フォード法|
ダイクストラ法|A*アルゴリズム|文字列探索の力任せ法|Boyer-Moore法|
逆ポーランド記法|ユークリッドの互除法

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。


↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
Users Voice
40代のプログラマーです。
ここ何年かはデータ分析のシステムの開発、運用に携わってきました。

本書は、初心者向けのプログラミング入門+アルゴリズム入門という内容の本です。

本書であつかっているのは、実際、
大学のコンピュータサイエンスのアルゴリズムの授業で
あつかうような内容なのですが、そこは、興味が持てるように、
重くなりすぎないように、入門を意識して書いてある印象です。

目次を見ると、以下のような内容になっています。

第1章 Pythonの基本とデータ構造を知る
第2章 基本的なプログラムを作ってみる
第3章 計算量について学ぶ
第4章 いろいろな探索方法を学ぶ
第5章 データの並べ替えにかかる時間を比べる
第6章 実務に役立つアルゴリズムを知る

1, 2章で、Pythonの文法と小さいプログラムのつくりかたを学びます。
これで、全体のページ数の1/3ぐらいあります。
内容的にも、Pythonやプログラミングの入門者向けです。

3,4,5,6章でいわゆるデータ構造とアルゴリズムについて学びます。
題材の選択や難易度が、浅すぎず、深すぎず、かんたんすぎず、むずかしすぎず、
バランスのとれた内容になっていると思います。
第6章 実務に役立つアルゴリズムを知る
あたりは、初心者には、むずかしいかもしれませんが、
文字列の検索は、プログラミング言語のAPIとして使ったことがある人も多いでしょうし、
最短経路問題は、こっち方面に興味をもてたひとには、おもしろいとおもいます。

全体的に、pythonのソースコードもあまり長くなく、
読むのもむずかしくはないと思います。

フローチャートがけっこうたくさん書かれています。
pythonのソースコードとくらべて、アルゴリズムが
わかりやすく記憶に残りやすいということはないでしょうし、
Web界隈の現場でしたら見ることはないだろうし、
Pythonのソースコードと2重に確認することが増えて負担かもしれません。

本書を読んでアルゴリズムに興味がでたら、
別の、より詳細な本、より本格的な本も見てみると良いと思います。
本書をひととおり読めば、本書でわからないところがあったとしても、
そういった本も読めるようになっていると思います。
競技プログラミングの入門書やさらに専門的なアルゴリズムの本なども
なんとか読めるのではないでしょうか。

補足
Webのプログラマーですと、
「こういう勉強は、ブラウザで画面が見られないからおもしろくない」
というひともいるかもしれませんが、ネットを探せば、
アルゴリズムの動きを視覚化してみせてくれるWebサイトとか見つかります。

一般に、入門者が困るのはプログラミングできる環境をつくることだとおもいます。
こちらは、本書で足りなければ、インターネットを検索するとたくさん記事が見つかります。
「Windows Python インストール」
「Windows Python データ分析 環境構築」
などの単語でググるといいと思います。
Google colaboratory(という単語でググってください)
などを使うと、ブラウザからPythonのソースコードを実行できます。
(ただ、まー、クラウドの場合、ブラウザとWebサーバの区別がつかないと
「ファイルはどこに保存された?」とか、混乱するかもです。) (参考:Amazon)

↓全て表示 ↑少なく表示
まずPythonでの演算子の使い方や関数の作り方などについて説明があるのでPythonの事前知識がなくても学習を始められるようになっています。
その次の章ではお釣りを計算するとか素数を出力させるといったプログラムを作るのですが、そうした分かりやすい例を使って「同じ結果を得るにも複数の実装が可能で、どれを選ぶかでコードの長さも計算量も大いに違ってくる」ということが明快に示されています。それぞれの例にフローチャートがついているので理解の助けになりますし、それぞれの処理の手際のよさを比較できるようになっています。また不正な入力を想定してエラーを防ぐ対策もこの段階から扱っています。
とにかく初歩の段階から自然に「より良いアルゴリズムとは何か?」を考えるようになるのが素晴らしいと思います。 (参考:Amazon)

↓全て表示 ↑少なく表示
 
内容サンプル

(引用元Amazon)

 
  

「ウェブ最適化ではじめる機械学習 ―A/Bテスト、メタヒューリスティクス、バンディットアルゴリズムからベイズ最適化まで」

ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。本書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。
シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。
Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。
ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。

↓全て表示↑少なく表示
 
      

アルゴリズム本 最新・高評価のおすすめの5冊

以下が最新(2018年以降発売本)で高評価の、最新おすすめのアルゴリズム・データ構造本の5冊の詳細です。

(2020/12/01 更新)
売筋
Rank
製品評価
1
(4.9)
総評価数 15件
2
詳解 確率ロボティクス Pythonによる基礎アルゴリズムの実装 (KS理工学専門書)...
発売日 2019/10/27
通常    4,290円
単行本   4,290円 (+78pt)
Kindle   4,290円 (+1302pt)
(4.4)
総評価数 23件
3
Scratchで学ぶ プログラミングとアルゴリズムの基本 改訂第2版...
発売日 2019/04/18
通常    2,530円
単行本   2,530円 (+25pt)
Kindle   2,404円 (+24pt)
(4.3)
総評価数 15件
4
アルゴリズム思考術:問題解決の最強ツール
発売日 2019/04/03
通常    1,210円
単行本   1,210円 (+12pt)
Kindle   1,150円 (+21pt)
(4.1)
総評価数 31件
5
(4.1)
総評価数 16件

「問題解決力を鍛える!アルゴリズムとデータ構造 (KS情報科学専門書)」

★この本を買わずして何を買う!!★

競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。

【推薦の言葉】
プログラムが「書ける」ことと、効率の良い結果を得ることには大分ギャップがある。本書は、どのようにすれば効率のよい結果が得られるか? すなわちどのようなアルゴリズムを採用すればよいか? という点に対して、幅広くかつ明快に解説している。
また本書は、アルゴリズム初心者に対して、アルゴリズムへの興味を惹かれるように記述されている。アルゴリズム上級者への初めの一歩には最適であろう。
――河原林健一(国立情報学研究所副所長)

【全体を通して、アルゴリズムの設計技法を重視した構成】
まず、1、2章でアルゴリズムと計算量について概観します。そして、3~7章が、早くも本書のメインパートといえる部分であり、「アルゴリズムの設計技法」について詳しく解説します。これらの設計技法に関する話題は、多くの書籍では、最後の方で簡単に説明しています。しかし本書は、現実世界の問題を解決するための実践的なアルゴリズム設計技法の鍛錬を目指しています。そこで、アルゴリズム設計技法について前半で詳しく解説する構成としました。そして、これらの設計技法が後半の章でも随所に使われていくことを示していきます。

その後、8~11章では、設計したアルゴリズムを効果的に実現するうえで重要となるデータ構造を解説します。データ構造について学ぶことで、アルゴリズムの計算量を改善したり、また、C++やPythonなどで提供されている標準ライブラリの仕組みを理解して、それらを有効に活用したりすることができるようになります。

そしていったん、12章でソートアルゴリズムについての話題を挟んだ後に、13~16章でグラフアルゴリズムについて解説します。グラフは、非常に強力な数理科学的ツールです。多くの問題は、グラフに関する問題として定式化することで、見通しよく扱うことができるようになります。また、グラフアルゴリズムを設計するとき、3~7章で学ぶ設計技法や、8~11章で学ぶデータ構造が随所で活躍します。

最後に、17章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18章で、これらの難問に取り組むための方法論をまとめます。ここでも、動的計画法 (5章) や貪欲法 (7章) といった設計技法が活躍します。

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
Users Voice
今後の教科書はこの本しかないと言えるぐらい素晴らしい本でした。
レベルの高い前提知識を必要としないのに、高度な内容も容易に理解できる文章でした。
また、アルゴリズムやデータ構造をイメージして理解できるように図も大量に使われており、理解に迷うことも無いと思いました。
紹介に留まらず、擬似コードではない本物のコードが書かれているのも現代的な本だと思います。

プログラミングコンテストチャレンジブックやCoding Interviewの本を読む前にも最適な1冊だと思いました。
すごくオススメです ?( ' ꒳ `?) (参考:Amazon)

↓全て表示 ↑少なく表示
競プロerのバイブルとされる「蟻本」は網羅性の高い名著ですが、初心者にはなかなかとっかかりづらいものでした。

本書は中学数学と最低限のC++の知識(AtCoder Programming Guide for beginnersで数日で身につくものです)があれば読み進めることができ、アルゴリズムの基礎を体系的に身につけることができるようになっています。

想定読者は入門者〜緑くらいでしょうか?しかしそれ以上のレートの方にも、アルゴリズムの設計技法に重きを置いた説明は多いに参考になると思います。 (参考:Amazon)

↓全て表示 ↑少なく表示
 
  

「詳解 確率ロボティクス Pythonによる基礎アルゴリズムの実装 (KS理工学専門書)」

僕たちは、こんな本を待っていた。
Sebastian Thrunらの名著『確率ロボティクス』(マイナビ)の翻訳者であり、
同分野の第一人者でもある、上田隆一氏が書き下ろす至極の入門書!

・理論→実装という一貫した流れで、丁寧に解説。まさにバイブル!
・Jupyter Notebook対応だから、すぐに実践できる!
・コードはGitHubで全部公開!

【第1章「はじめに」より抜粋】
本書は、確率をロボットの認識機能や制御に用いることを考える分野「確率ロボティクス」の入門書です。ロボットの開発者、研究者になるには機械、計算機、制御に関する勉強も必要なうえ、上記のような状況なので、確率論、統計学の理解も重要になってきています。たくさん勉強しなければならないので「手短に」といいたいところですが、確率というものに実感がもてるまでには頭の訓練が必要です。
筆者は学生のとき、確率に対する実感を養うために(実際は家賃込みの月6万円の仕送りを増やすために)、学生寮、後楽園、高田馬場あたりの「現場」でかなりの訓練をして仕送りを減らしていましたが、そちらをおすすめするわけにはいきません。そこでロボティクスでよく使われるアルゴリズムを書いて動かしてもらい、実感をもってもらおうと企画したのが本書です。

【主な内容】

第1部 準備
第1章 はじめに
第2章 確率・統計の基礎
第3章 自律ロボットのモデル化
第4章 不確かさのモデル化

第2部 自己位置推定とSLAM
第5章 パーティクルフィルタによる自己位置推定
第6章 カルマンフィルタによる自己位置推定
第7章 自己位置推定の諸問題
第8章 パーティクルフィルタによるSLAM
第9章 グラフ表現によるSLAM

第3部 行動決定
第10章 マルコフ決定過程と動的計画法
第11章 強化学習
第12章 部分観測マルコフ決定過程

付録A ベイズ推論によるセンサデータの解析
付録B 計算

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
Users Voice
当方、機械学習エンジニアですが、工業用機械の自動運転関連の案件を担当することになり、本書を手に取りました。

自動運転を全く知らないどころか、古典制御理論も勉強中というど素人の私にとって、自己位置推定やSLAMに独学でも入門できる本書は、めちゃくちゃ貴重でした。

理論を解説した後、コーディングしてシミュレータ上で実際に動かすという体験を通して、より理解を深めていく体裁になっています。(シミュレーターも本書内で自作します。)
理論は、丁寧で分かりやすい解説が成されており、行間を埋めまくらないと導出できないような式変形もありませんでした。
コードも、段階を追って解説とともに記載されているため、大量のコード丸投げで良く分からないといったこともありませんでした。

挑み甲斐のある良書でした。著者様に感謝します。

誤植?
4.2.4
記載された通りのuniform()の使い方だと、Python3だとエラー。tupleとintを比較できなくなったため。

4.3.2
relative_polar_pos は、それまでの命名に従えば、observation_function の誤り。

5.16式の分母のxの上付き添え字がjでなくk (参考:Amazon)

↓全て表示 ↑少なく表示
確率ロボティクスついて詳しい千葉工大の上田先生の書籍です。ROSの本で有名な方で、シェル芸など笑いにも精通していらっしゃいます。twitter → @ryuichiueda
この本では自動運転やロボットに必要な自己位置推定や地図作成を実装するにあたって、エラーやバイアスを含むセンサ群のデータから価値のある値にどう料理するか、確率ロボティクスの理論とパイソンのコードが説明されています。
具体的には、カメラやライダー等のセンサを使った複数種のSLAMアルゴリズムの解説や、経路生成したのち補正していく強化学習についてQ学習等のアルゴリズムの解説があります。
理論部分はハードです。p(z|a,b,c)とかの統計の記法に慣れて、ベイズ理論の定理を使いこなす必要有りです。
Anacondaをいれて環境を作ればJupyter Notebook上でサンプルコードが動作し、段階的にコードが動く振る舞いを確認できます。
読み応えのある本ですが、サンプルコードもありますし、確率ロボティクスの最前線なのでおすすめです。 (参考:Amazon)

↓全て表示 ↑少なく表示
 
内容サンプル

(引用元Amazon)

 
  

「Scratchで学ぶ プログラミングとアルゴリズムの基本 改訂第2版」

Scratchで学ぶ プログラミングとアルゴリズムの基本 改訂第2版
(著)中植 正剛, 太田 和志, 鴨谷 真知子
発売日 2019/04/18
(4.3)

プログラミングとアルゴリズムの基礎、および、「Scratch 3.0」の使い方を学ぶための本です。
大学や高校のプログラミングの授業でも活用していただいている人気定番書を「Scratch 3.0」の登場に合わせて改訂しました。

本書は、Scratchの操作方法を身につけて自由自在に使いこなせるようになるだけでなく、頭の中で考えているアイデアをプログラムとして実現するスキル、つまり論理的な思考のスキルを身につけることを目的としています。

本書の使い方
サンプルのプログラムを作りながら、Scratchの操作とプログラミングのポイントについて学んでいきます。ただし、何も考えずにサンプルの作り方をなぞって操作するだけでは、独り立ちして自分なりのプログラムを作る力はつきません。プログラミングの仕組みをきちんと「わかる」ことが大切です。

各章の<考えてみよう>のコーナーで自分なりに見通しを立てて考えたり、<Scratchの操作>や<プログラミングのポイント>のコラムをしっかりと読んで、操作の背景にある仕組みを考え、理解を深めながら学びをすすめましょう。
加えて、<チャレンジ>や<ステップアップ>といった課題に取り組むことで、頭で理解するだけでなく、身につけるようにしましょう。本書の詳しい使い方や各種のコラムの内容については「序章」の「この本の使い方」をご覧ください。

早く自分だけのプログラムを作りたい! という方は、第1章から第3章までを終えると、自分なりのオリジナルなプログラムを作り始めることができるようになるでしょう。途中で一度自分のオリジナルな作品を作ってから第4章からに取り組むと、より構造化プログラミングや関数、クローンなどのありがたみがわかるでしょう。

本書で紹介した「サンプルファイル」や「課題」の解答例、活用時の「指導者の手引き」などは、本書のWebページからダウンロードいただけます。

目次(詳しくは、目次欄をご覧ください)
●プログラミングをはじめよう
第1章 Scratchの基本
第2章 プログラムの流れをつかもう
第3章 変数と配列の使い方をマスターしよう

●本格的なプログラミングを身につけよう
第4章 構造化プログラミング
第5章 関数の使い方をマスターしよう

●アルゴリズムのキホンを学ぼう
第6章 アルゴリズムその1 サーチ(探索)
第7章 アルゴリズムその2 基本的なソート(並び替え)
第8章 アルゴリズムその3 すすんだソート(並び替え)

●Scratchを使いこなそう
第9章 クローン

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
Users Voice
CやJavaなど一通り学んでいたのですが,バイトで小学生にプログラミングを教えることがあり,購入しました.
中身を通してわかったことは,scratchがプログラミング初心者にとって非常に良い教材であること,そしてこの本を読むことでscratchの基本的な操作はマスターできるということでした.
加えて,探索やソートアルゴリズムまでカバーしている点が非常によかったと思います。 (参考:Amazon)

↓全て表示 ↑少なく表示
キーボードに慣れていないプログラミング初心者向けというScratch感が認識不足であったことがわかりました。再帰処理まで触れられており、良書です。 (参考:Amazon)

↓全て表示 ↑少なく表示
 
内容サンプル

(引用元Amazon)

 
  

「アルゴリズム思考術:問題解決の最強ツール」

アルゴリズム思考術:問題解決の最強ツール
(著)ブライアン クリスチャン, トム グリフィス
発売日 2019/04/03
(4.1)

仕事の時間配分、書類整理から洗濯済靴下の片割れ探しまで、何をいつ行ないいつやめるか、そもそも行なうべきかの判断は難しい。だが人工知能の大本でもあるアルゴリズム論理の使い方を学べば、ビジネスや日常で迫られる判断を手早く行なえる。現代人必読の書。

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
アルゴリズム思考術:問題解決の最強ツール
発売日 2019/04/03
通常 1,210円
現在 1,210円

  

「Pythonによるプログラミング入門 東京大学教養学部テキスト: アルゴリズムと情報科学の基礎を学ぶ」

東大1年生向け好評講義テキストを書籍化。
プログラミングの初心者でも、シミュレーションや
データ分析の基礎までを最短で身につけられる。


Pythonを用いて、プログラミングの初歩からデータ処理やシミュレーションの基礎までを学べるテキストである。読み進めるうちに、おのずと情報科学の基礎が身につくよう工夫されている。プログラミング初学者から、情報系技術に関わることになった社会人まで広く役立つ。


【本書「まえがき」より】
本書は、プログラミングの基本を習得するとともに、プログラミングを通して情報科学の基礎を学ぶための教科書として執筆した。現代において情報科学の基礎は必須の教養となっているが、これを学ぶ際にはプログラミングを併せて学ぶことが強く望まれる。本書で学ぶような計算量や数値誤差といった内容は、座学で聞くだけではなかなか実感がわかないが、少しプログラムを書けば身につまされるものとして体験できるからである。……

プログラミング言語としてはPythonを用いる。Pythonは世界的に広く使われている言語ではあるが、本書で採用したのは以下の理由から初学者にとって有益であると考えたためである。まず、開発環境やライブラリなどがよく整備されていること。…さらに、比較的高水準な記述が可能であり、初学者が躓きがちな「最低限のプログラムを動かすための、初学者にとって意味不明な記述」がほとんど不要であること。なお、Pythonを用いているはいるが、Python特有の機能はほとんど使っていないため、他の言語を学習する際にも十分参考になる内容となっている。


【主要目次】
第1章 はじめに
第2章 まずは使ってみる
第3章 プログラムを作ろう
第4章 データ処理の基本――成績の集計
第5章 ライフゲーム
第6章 放物運動のシミュレーション
幕間 テストとデバッグの基本
第7章 p値の計算
第8章 大規模データの検索
第9章 データからの情報抽出――回帰分析
第10章 拡散のシミュレーション
第11章 高度な検索――ゲノムを解析する
第12章 データを分類する
付録A Python言語の簡易ガイド
付録B itaライブラリガイド

↓全て表示↑少なく表示
 
Users Voice
東大教養学部のテキストです。
わからないところは直ぐに教官に質問できる環境にある人のための本で、その分全体的に簡潔に書かれています。

学習環境の構築についても、anacondaのURLが書いてあるだけで、途中の遷移画面がないので、まったくのプログラミング初心者にはインストールさえできないかも知れません。

また、Numpyなどの有名ライブラリーも紹介していないので、オールインワンの一冊とも言えません。

反面、後半に、モンテカルロ法、探索、整列、拡散シミュレーション、クラスタリング等面白いテーマのさわりを扱っていますので、勉強熱心な方はこの本を買って、足りないところはネットや他の本で補うという使い方は有りだと思います。 (参考:Amazon)

↓全て表示 ↑少なく表示
情報処理技術者試験にもCOBOLに代わって採用されたPython。
この本は、Python入門ではなく、CS入門の本です。
CSの一般教養の授業に使える本です。真っ先に計算誤差に言及するところなど現実的で好感が持てます。
アメリカの大学のCSもこんな感じです。てか、アメリカの大学のテキストを手本に翻訳したような内容です。
私の知っているアメリカのCS入門の授業のテキストは、この本の内容の2倍の量を1セメスターでこなしていました。 (参考:Amazon)

↓全て表示 ↑少なく表示
 
  

アルゴリズム本「Kindle Unlmited 読み放題 人気ランキング」

「Kindle Unlimited」は、Amazonの定額本読み放題サービス。

実はそこにアルゴリズムの本もそこそこあるんです。すなわち、定額で何冊も学習することも可能

Kindle Unlimitedの主な特徴としては、おおよそ以下の通り。

  • 雑誌がかなり充実
  • 豊富なKindle個人出版本がほとんど読み放題
  • 最近は出版社単行本も対応増加

個人的には雑誌が、IT系(CG WORLD等)、ガジェット系(Get Navi等)、ゲーム(ファミ通等)、など見たい雑誌が幅広く読めるのが大きな魅力。2冊以上読みたいものがあるだけで確実にお得です。

また、30日無料体験も可能なので、体験期間を利用して無料で学習してみるのもお得な学習法です。

以下がKindle Unlimited対応のアルゴリズム関係の本人気ランキングです。

(2020/12/01 更新)
売筋
Rank
製品評価
1
図鑑 データ構造 アルゴリズム C++
発売日 2020/07/22
通常    948円
Kindle   415円 (+4pt)
Kindle Unlimited(読み放題)
(0)
総評価数 0件
2
図鑑 データ構造 アルゴリズム Java
発売日 2020/05/30
通常    948円
Kindle   415円 (+4pt)
Kindle Unlimited(読み放題)
(0)
総評価数 0件
3
図鑑 データ構造 アルゴリズム C#
発売日 2020/07/17
通常    948円
Kindle   415円 (+4pt)
Kindle Unlimited(読み放題)
(0)
総評価数 0件
4
(3)
総評価数 1件
5
(0)
総評価数 0件
6
図鑑 データ構造 アルゴリズム Go
発売日 2020/07/25
通常    948円
Kindle   415円 (+4pt)
Kindle Unlimited(読み放題)
(0)
総評価数 0件
7
(3)
総評価数 1件
8
図鑑 データ構造 アルゴリズム Python
発売日 2020/06/28
通常    948円
Kindle   948円 (+9pt)
Kindle Unlimited(読み放題)
(1)
総評価数 1件
9
図鑑 データ構造 アルゴリズム ES6+Javascript
発売日 2020/07/09
通常    948円
Kindle   415円 (+4pt)
Kindle Unlimited(読み放題)
(0)
総評価数 0件
10
(5)
総評価数 1件

 

   

関連:ゲーム開発や機会学習等を学ぶ

基本アルゴリズム・データ構造を学んだら、処理速度や高度なアルゴリズムを応用する、ゲーム開発やAI実装、機械学習などで活用してみましょう。

以下ではゲーム開発や、Pythonでの機械学習の書籍も紹介しています、合わせてのぞいて見てください。

関連:最新おすすめのKindle端末

以下では最新のKindle端末について比較、おすすめ紹介しています、合わせてのぞいて見てください。

いじょうでっす。

コメント

タイトルとURLをコピーしました