アルゴリズムとデータ構造のおすすめテキスト書いてみる
アルゴリズムとデータ構造の理解というのはプログラミングを行う上でもっとも重要である。
なぜならアルゴリズムとデータ構造はプログラミングをそのものなので。
何よりもアルゴリズムをちゃんと学んでおく必要があります。
ただプログラミングを始めた人もアルゴリズムの学習をちゃんとやってなかったり、途中で挫折してしまったりする人がいるのが現実です。
理由はおそらく疲れるからです。
いろいろ頭を使わなきゃいけないし集中してやらなきゃいけないので、ベットでゴロゴロしながらやるのはなかなか難しい分野です。
しかしプログラミングを真面目にやるならアルゴリズムはしっかりとやっておかなくてはいけません。
もちろんアルゴリズムをやる前に何らかのプログラミング言語の基本は知っておく必要があります。
まだプログラミングをやったことがない人は以下を参考にしてください
あと最近アルゴリズムやプログラミングのことを分かりやすく解説したvtuberでも作ろうかなあとか思ったりしてます。まだあんまり進捗はないんだけどね。進捗があったら報告します。
アルゴリズム図鑑
- 作者: 石田保輝,宮崎修一
- 出版社/メーカー: 翔泳社
- 発売日: 2017/06/06
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
ホントの初心者向けです。
アルゴリズムのことを全く知らないよっていうひとは最初に読んでみるとどういうものなのかイメージが何となくつくようになります。
ただこれだけでは全く足らないので注意。
アルゴリズムは基本中の基本なのでしっかりと時間をかけて学んでください。
アルゴリズムを、はじめよう
- 作者: 伊藤静香
- 出版社/メーカー: インプレス
- 発売日: 2012/05/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
こちらも入門書ですが、アルゴリズム図鑑よりは少しだけ難易度アップ。ホントに少しだけだけどね。
初心者ようですので、内容はかなり簡単です。何らかのプログラミング言語を学んだあとに読んでみるといいとですが、やはりこれだけではちょっと足りません。
本当に基本的なアルゴリズムは描けるようになるはずです。
ここでつまずくようだとちょっと厳しいかな。
プログラミングコンテスト
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
- 作者: 渡部有隆,Ozy(協力),秋葉拓哉(協力)
- 出版社/メーカー: マイナビ
- 発売日: 2015/01/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
プログラミングコンテストを想定して作られているテキストですが、アルゴリズムの入門書として非常に優れています。
アルゴリズムを実際にコーディングするにはこれが一番分かりやすいです。
最低限知っておくべきアルゴリズムはしっかりと掲載されていますし、アルゴリズムの解説もコードの解説も大変良くできています。
私が中学生ぐらいの時にこの本があればなあってすごく思います。
プログラミングの宝箱
- 作者: 紀平拓男,春日伸弥
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2011/03/26
- メディア: 単行本
- 購入: 15人 クリック: 255回
- この商品を含むブログ (31件) を見る
私が大学一年の時にやった本です。
普通に分かりやすいのですが、この内容なら個人的には上で挙げたプログラミングコンテストの方がいいのかなあと。
まあ普通にいい本であることは間違いないですし、私はこの本で基本を学んだので読んでおいて損はないです。
また同じアルゴリズムでも色んな実装があるのでいろんな本を読んでいろんなコードを見て書いてみるといいです。
プログラミングコンテストチャレンジブック
プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?
- 作者: 秋葉拓哉,岩田陽一,北川宜稔
- 出版社/メーカー: マイナビ
- 発売日: 2012/01/28
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 473回
- この商品を含むブログ (36件) を見る
プログラミングコンテストの本です。
難易度はやや高めでして、最初の一冊に読むものではないです。
上に挙げたプログラミングコンテストに乗っているコードを理解してから読むといいです。
プログラミングコンテストという競技に興味がある人はとりあえずこの本を読んでおくといいと思います。
C言語による標準アルゴリズム事典
[改訂新版]C言語による標準アルゴリズム事典 Software Technology
- 作者: 奥村晴彦
- 出版社/メーカー: 技術評論社
- 発売日: 2018/04/19
- メディア: Kindle版
- この商品を含むブログを見る
有名どころのアルゴリズムは大抵のっていますのでアルゴリズムの基本を学んだあとにリファレンスとして使ったり、復習として使ったり、コードの書き方を参考にしたりとか使い方はいろいろあります。
まあ一から読んでいくというのもありです。時間があればね。
アルゴリズムクイックリファレンス
- 作者: George T. Heineman,Gary Pollice,Stanley Selkow,黒川利明,黒川洋
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/12/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る
ブルームフィルタとかいろいろなアルゴリズムを扱っています。
タイトル通りリファレンスとして使うのがいいとおもいます。
2冊目以降に読んでいく本です。
行きなり読んでもなかなか難しいんじゃないかと。
アルゴリズムイントロダクション
アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書
- 作者: Thomas H. Cormen,Clifford Stein,Ronald L. Rivest,Charles E. Leiserson
- 出版社/メーカー: 近代科学社
- 発売日: 2018/01/09
- メディア: Kindle版
- この商品を含むブログ (4件) を見る
学者が書いたテキストですので、難易度高めです。
真面目に数学をやっていくテキストですので、数学がわからないと理解はできないと思います。
また行きなり読むのはかなり厳しいので、まずはもっと簡単な本でアルゴリズムの基本を押さえてから読んだ方がいいです。
情報系をしっかりと学んでいきたいと考えているのなら持っておきたい本です。
The Art of Computer Programming
- 作者: ドナルド・E・クヌース,有澤誠,和田英一,青木孝,筧一彦,鈴木健一,長尾高弘
- 出版社/メーカー: アスキー
- 発売日: 2004/02/18
- メディア: 単行本
- 購入: 2人 クリック: 150回
- この商品を含むブログ (65件) を見る
超有名なテキストです。
著者のクヌース氏も有名人です。
かなり分厚いので全部読んでいる人がいるのかは謎ですが。
全部持っている人は結構いるはずです。
この本全部ちゃんと読んだよって言う人いたら教えてほしいです。
時間的に全部やるのは相当きついです。
自分が興味のある分野をとりあえず読んでみるといいです。
初心者向きでは間違いなくありません。分量的に。
非常に重いので持ち運びは現実的じゃないので、家でしっかりと机に向かって読み込むタイプの本です。
最後に
プログラミングは楽しくやりましょう
きつくなったらちょっと休憩してまた何度もやってみるしかないです。
アルゴリズムがかけるようになったら素人から一歩ステップアップです。