paiza times

paizaがお届けする、テック・キャリア・マネジメント領域における「今必要な情報」を届けるWebメディア

logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

現役エンジニアが選ぶ、初心者でもアルゴリズムについて学べる4冊の書籍

f:id:paiza:20181107153205p:plain
f:id:paiza:20140916135428p:plainこんにちは。谷口です。

プログラミング初心者のみなさんは、アルゴリズムについて勉強された経験がありますか?

「プログラミングは勉強しているけど、アルゴリズムについてきちんと勉強したことはない」「プログラミング言語の書き方やフレームワークなどの勉強を優先しているから特にやっていない」という方も多いと思います。

ただアルゴリズムを全然知らないと、ちょっと開発が複雑になってきたときに

  • どう実装すべきかわからない
  • とりあえず力技で作る
  • 力技で作ったコードは改修が面倒
  • できる人に「もっといいやり方がある」と言われる
  • しかし自分ではその「いいやり方」を思いつけない…

…といったことも起こりえます。

そこで今回は、paizaを作っているエンジニアたちに、実際に読んでアルゴリズムの勉強に役立った書籍を聞いてきました。

アルゴリズム初心者の方の参考になればと思います。



長田です。ブログでは健康オタクエンジニアとして何者なのかわからない記事ばっかり書いていますが、一応エンジニアとして、主にpaiza新卒の開発を担当しています。前職はフリーランスのエンジニアでした。

世界でもっとも強力な9のアルゴリズム

世界でもっとも強力な9のアルゴリズム

世界でもっとも強力な9のアルゴリズム

検索やデータ圧縮など、世界中で使われているアルゴリズムについて、いい感じに解説されている本です。

小難しい数式などはほとんど出てこなくて、非エンジニアの人でもわかるように書かれているので、アルゴリズムに苦手意識がある人や、まずとっつきやすいところから入門したい人にもおすすめできます。もちろん、技術的な知識を補強したい人にもおすすめ。



青木です。paizaラーニングの企画・開発を担当しています。

[改訂新版]C言語による標準アルゴリズム事典

[改訂新版]C言語による標準アルゴリズム事典 (Software Technology)

[改訂新版]C言語による標準アルゴリズム事典 (Software Technology)

各種アルゴリズムの具体的な実装がわかりやすくまとまっています。最近、新版としてリニューアルされました。

アルゴリズムの紹介と一緒にC言語による実装コードが掲載されているので、「コードに書いたらどうなるんや?」というのがわかりやすいです。(C言語が読めれば…)

The Art of Computer Programming

The Art of Computer Programming Volume1 Fundamental Algorithms Third Edition 日本語版 (ASCII Addison Wesley Programming Series)

The Art of Computer Programming Volume1 Fundamental Algorithms Third Edition 日本語版 (ASCII Addison Wesley Programming Series)

  • 作者: ドナルド・E・クヌース,有澤誠,和田英一,青木孝,筧一彦,鈴木健一,長尾高弘
  • 出版社/メーカー: アスキー
  • 発売日: 2004/02/18
  • メディア: 単行本
  • 購入: 2人 クリック: 150回
  • この商品を含むブログ (65件) を見る

※日本語版

The Art of Computer Programming Volume 1 Fundamental Algorithms Third Edition 日本語版

The Art of Computer Programming Volume 1 Fundamental Algorithms Third Edition 日本語版

  • 作者: Donald E.Knuth,有澤 誠,和田 英一,有澤誠,和田英一,青木孝,筧一彦,鈴木健一,長尾高弘
  • 出版社/メーカー: KADOKAWA
  • 発売日: 2015/06/26
  • メディア: 単行本
  • この商品を含むブログ (2件) を見る

TeXの開発者としても知られ、「コンピュータアルゴリズムの特徴についての理論」を研究し続けるクヌース先生の集大成と言える著書です。あらゆるアルゴリズムが分野別に徹底解説されているので初心者にはちょっとしんどいかもしれませんが、いろいろなアルゴリズムを学びまくりたい人におすすめ。

全7Volume構成の予定で、現在Volume4のBの途中までが出版されています。



吉岡です。ブラウザ上でWeb開発やプログラミングが実行できるPaizaCloudpaiza.IOの開発を担当しています。

プログラミングコンテストチャレンジブック[第2版]

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

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

改めて挙げるまでもないかもしれませんが、競技プログラミングのバイブルですね。競プロの世界でトップレベルの方々が書いた本なので、競プロにおけるレベルアップやコーディング選考を受けるのに役立ちます。

全探索、ダイナミックプログラミング、整数や素数の扱いなどなど、競プロでよく使われるテクニックや主要なアルゴリズムについてがC++でていねいに解説されています。

まとめ

現役エンジニアがおすすめする、アルゴリズムの勉強に役立ちそうな書籍をご紹介しました。

興味を持たれた方は、この読書の秋にぜひ読んでみてください。


なお動画でプログラミングが学べる「paizaラーニング」では、「アルゴリズム入門編」のレッスンも公開しております。FizzBuzz、フィボナッチ数、ハノイの塔、巡回セールスマン問題といったアルゴリズムが初心者でも学べます。

「アルゴリズム入門編」について詳しくはこちら





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

paizaのスキルチェック

paizaのおすすめコンテンツ

CGC codemonster プログラミングゲーム「初恋プログラミング研究会 ~海に行こうよ~」 CGC codemonster プログラミングゲーム「コードモンスター大図鑑 プログラミングでゲットだぜ!」
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.