これはヒドイ「初中級エンジニアが【アルゴリズムを優しく学べる】本とサイト16選」

http://paiza.hatenablog.com/entry/20141014algorithm
うーん,これはヒドイ.これ書いてる人は,おそらくプログラマーじゃない.


アルゴリズムとデータ構造」の参考書/学習書ではなく読み物の比率が高い.ソフトウエアエンジニア/プログラマーでない人が,なんちゃってアルゴリズムを囓るのにはこれでもいいけど,プログラマの勉強用じゃねーな.


今出てるアルゴリズム本だと,だいたいこの辺だと思う.

アルゴリズムイントロダクション 第3版 第1巻: 基礎・ソート・データ構造・数学 (世界標準MIT教科書)

アルゴリズムイントロダクション 第3版 第1巻: 基礎・ソート・データ構造・数学 (世界標準MIT教科書)

アルゴリズムイントロダクション 第3版 第2巻: 高度な設計と解析手法・高度なデータ構造・グラフアルゴリズム (世界標準MIT教科書)

アルゴリズムイントロダクション 第3版 第2巻: 高度な設計と解析手法・高度なデータ構造・グラフアルゴリズム (世界標準MIT教科書)

Introduction to Algorithms (MIT Press)

Introduction to Algorithms (MIT Press)

  • 作者: Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest,Clifford Stein
  • 出版社/メーカー: The MIT Press
  • 発売日: 2009/07/31
  • メディア: ペーパーバック
  • 購入: 5人 クリック: 90回
  • この商品を含むブログ (19件) を見る
定番教科書.これがイチオシでないのは理解しかねる.*1

たとえば英単語の勉強する時,どこの単語帳が最も良いかと思い悩んだり,「単語帳を3冊と辞書を二冊買った」とか自慢することにはほとんど意味がない.そうやって時間を無駄にするよりは,とりあえずはDUOでも速読速聴・英単語でも英単語ピーナツでもダイアローグ1800でもなんでもいいからそこそこの単語帳を一冊買ってきて,全部一度通してやればいい.買った本の数よりは,覚えた単語の数の方がずっと重要だ.

基本アルゴリズムの学習も同様で「アルゴリズム本を十冊買った」とか自慢してるくらいなら,基本的なことを網羅している教科書を一冊通してやればいい.それで,だいたい理解できるはず.*2 買ったアルゴリズム本の数より,理解して使いこなせるアルゴリズムの数や,その中で培われるアルゴリズムを創れるスキルの方が重要だ.

そして,どうせやるなら良い教科書を選ぶべき.


入門 データ構造とアルゴリズム

入門 データ構造とアルゴリズム

Data Structures and Algorithms Made Easy

Data Structures and Algorithms Made Easy

少し前に調べたことがあるが,この分野の本が激しく少なかった.

前述の二冊はその後に出版された比較的新しい本.


なお,こういう本も出てるらしいが,中身はシラネ.*3

アルゴリズムクイックリファレンス

アルゴリズムクイックリファレンス

アルゴリズムを学ぶ際に一番最初に読む本としては少し重めなので、最初から順番に読んでいくというよりは、興味のある箇所から読んでいく方が向きます。ただアルゴリズムの説明がかなり丁寧で初学者向きの書籍です。データ量と実行時間などの実データの比較も載っており、アルゴリズムの特性、違いを理解しやすい内容になっています。

O'Reillyのアルゴリズム・クイックリファレンスを初学者にお勧めしてる所も頭おかしい.


良い本ではあるのだけれど,間違っても初心者向けじゃない.これ元記事の人は中身読まずに書いてるだろ.*4

世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~

世界で闘うプログラミング力を鍛える150問 ~トップIT企業のプログラマになるための本~

Cracking the Coding Interview: 150 Programming Questions and Solutions

Cracking the Coding Interview: 150 Programming Questions and Solutions

  • 作者: Gayle Laakmann Mcdowell
  • 出版社/メーカー: Lightning Source Inc
  • 発売日: 2011/05/20
  • メディア: ペーパーバック
  • 購入: 3人 クリック: 16回
  • この商品を含むブログを見る
米国の人気企業(MicrosoftAmazonGoogleAppleFacebookYahoo!)の採用面接で出されるコーディング問題、質問についてまとめられている本です。世界のレベルを知るのに良い書籍です。

それ外資企業の就活用だろ?アルゴリズム本じゃないよ. *5 *6

類書

Java Programming Interviews Exposed (English Edition)

Java Programming Interviews Exposed (English Edition)

Programming Interviews Exposed: Secrets to Landing Your Next Job

Programming Interviews Exposed: Secrets to Landing Your Next Job

ビル・ゲイツの面接試験―富士山をどう動かしますか?

ビル・ゲイツの面接試験―富士山をどう動かしますか?


グーグル、アップル、マイクロソフトに就職する方法

グーグル、アップル、マイクロソフトに就職する方法

http://d.hatena.ne.jp/JavaBlack/20151013/p1
外資企業の企業面接の参考にはなるけど,日本企業のへっぽこプログラマをやってるような人にはいずれにせよ不要.


またあくまで面接で行われるコーディングテストの話であって,世界レベルのプログラマのスキルの話をしてるわけでもない.

Google PageRankの数理 ―最強検索エンジンのランキング手法を求めて―

Google PageRankの数理 ―最強検索エンジンのランキング手法を求めて―

むしろまだしもコッチの方が参考になるのでは.

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

アルゴリズムパズル ―プログラマのための数学パズル入門

アルゴリズムパズル ―プログラマのための数学パズル入門

いずれも「アルゴリズムの学習本」ではない.基本アルゴリズムの学習を終えた中級者が,より一層磨きをかけるために利用することはあるかもしれないが,アルゴリズム学習の役に立つわけじゃない.*7

http://b.hatena.ne.jp/entry/paiza.hatenablog.com/entry/20141014algorithm

人間に勝つコンピュータ将棋の作り方

人間に勝つコンピュータ将棋の作り方

  • id:gokichan 「人間に勝つコンピュータ将棋の作り方」は面白い本だけど、アルゴリズムを学ぶ本という感じでは無かった印象

そうでしょうね.

コンピュータ将棋の進歩 6 -プロ棋士に並ぶ-

コンピュータ将棋の進歩 6 -プロ棋士に並ぶ-

こっちの本もそうだけど,この手の本は「コンピューター将棋のアルゴリズム」の解説をすることはあっても,初心者に必用な「基本アルゴリズム」を説明する本ではない.この手の本の読者なら,そのくらいの知識は持ってるのが大前提.


あそこで紹介されてるのは,この手の「読み物」が多いため,技術者が基本アルゴリズムの学習に使う参考書としては不適切.プログラミングが分からない人が,ちょっと有名な本で「アルゴリズム」という単語が含まれる本を適当に寄せ集めました感が非常に強い.結果として初心者を混乱させるだけの非常に悪質な記事になっている.

*1:「精選トピックス」の3巻を含む総合版(15,120円)もある.総合版をお勧めしている点でも,自分はあの記事は初心者向けとしては賛成しかねる.

アルゴリズムイントロダクション 第3版 総合版 (世界標準MIT教科書)

アルゴリズムイントロダクション 第3版 総合版 (世界標準MIT教科書)

3巻は三版では当初は出版予定がなく,結局単独では出版されなかった.3巻がなくてもアルゴリズムの教科書としては十分役立つと思うし,1巻+2巻で8千円超えすることもあって,よほど拘りがない限りは総合版よりは1巻+2巻の購入の方を私はお勧めする.
旧版はこちら.
アルゴリズムイントロダクション 第3巻 精選トピックス

アルゴリズムイントロダクション 第3巻 精選トピックス

*2:「初心者がアルゴリズムを学習するための5冊」みたいな記事はその時点でおかしいんだ.一冊で十分.
分冊された結果,1,2巻に分かれてたりする場合もあるけど.

*3:ついこの前まで角川半額セールで,Kindle版が半額だったのだが...

*4:あるいは,読んでも理解する能力が無い.

*5:日本だとこういうのに相当するかな.
2018年度版 ドリル式 一般常識問題集 (NAGAOKA就職シリーズ) 2018年度版 ドリル式 SPI問題集 (NAGAOKA就職シリーズ)
日本は一般常識を問い,あっちじゃ専門知識を問う.どーしてこーなった.

*6:その第6版.

Cracking the Coding Interview: 189 Programming Questions and Solutions

Cracking the Coding Interview: 189 Programming Questions and Solutions

世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~

世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~

*7:キャッチボールも出来ない人が,いきなり練習試合を始めるような物だ.