無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
プログラミングの宝箱 アルゴリズムとデータ構造 (C magazine) 単行本 – 2003/6/14
C Magazineの好評連載を書籍化。ソート、サーチ、再帰、リスト、ツリーなど、プログラミングの定石となるアルゴリズムとデータ構造の基礎知識を解説する。
C/C++、Javaのプログラムを、これまで以上にエレガントに記述しよう。
第1章 ソート
大量のデータを整理する
バブルソート
クイックソート
マージソート
ソートの「安定性」
そのほかのソート方法
最適なソートは?
第2章 サーチ
リニアサーチ
バイナリサーチ
数値配列以外への応用
超整理法?
第3章 リスト
データ構造?
いくつあるかわからないデータ
リスト登場
リストのサーチ
応用例――自己組織化探索
第4章 スタック&キュー
スタックとは?
スタックの実装
リストとスタック
スタックの利用例1――カッコの対応
スタック利用例2――簡単な数式の計算
キューとは?
キューとリスト
キューの利用例
第5章 再帰呼び出し
再帰呼び出しとは
再帰のしくみ
最大公約数を求める
開き直り数
第6章 ツリー構造
樹形図のように枝分かれ
ツリー構造
2分木(binary tree)
多数の子ノードをもつツリー
第7章 マップとハッシュ
キーから値をサーチする
2分木を使ったツリーマップ
スマートなハッシュマップ
ハッシュ値の決め方
第8章 浮動小数点型と数値計算
たかがfloat、されどfloat
誤差は油断大敵
複雑な方程式を解く
第9章 文字列検索
文字列を検索する
最も単純な文字列検索
検索のムダを省く(KMP法)
現実的に優れた方法(BM法)
文字列以外への応用
第10章 バックトラック法と幅優先探索
開き直って試行錯誤
バックトラック法
堂々めぐりと遠回り
幅優先探索法
第11章 動的計画法
分割統治法(トップダウン的な問題解決)
コイン問題の解法
ナップザック問題を動的計画法で解く
動的計画法に適している問題
バックトラック法と動的計画法の比較
第12章 アルゴリズムで遊ぶ~テンパズルに挑戦
4つの数字で10を作る
どのように解くか方針を立てる
逆ポーランド記法について
逆ポーランド記法を用いたアプローチ
まとめ
- 本の長さ361ページ
- 言語日本語
- 出版社ソフトバンククリエイティブ
- 発売日2003/6/14
- ISBN-104797324198
- ISBN-13978-4797324198
商品の説明
商品説明
本書ではアルゴリズムとデータ構造について解説しており、ソートアルゴリズムやサーチ、リスト、ツリー構造、再起呼び出しなどの基本的な内容から、数値計算の手法や文字列検索、さらにゲームの解を探すアルゴリズムとしてバックトラック法と軸優先探索、動的計画法が解説されている。
いずれもC/C++とJavaによるコードが付属しており、データ構造とアルゴリズムの概念を実際にコードでどのように表現するか、実装するのかを学ぶことができるのが魅力だ。もちろんコードは手動で打つほか、ダウンロードも可能となっており、初歩的なプログラミングのスキルがあれば十分読み進めることができるレベルである。また、実装におけるテクニックやアルゴリズムを生かす場面が多く掲載されており、アカデミックな面よりプログラミングの現場に近い面が強く出ているのも本書の特徴である。
プログラミングを学ぶうえでアルゴリズムとデータ構造は重要な知識であり、特に関数型の言語では大きな役割を持つ。これらはプログラミング言語が変わっても不変の知識であり、プログラマの基礎力となるものである。コードを書くスキルを身につけたなら、次のステップとして学んでみてほしい。(斎藤牧人)
内容(「MARC」データベースより)
登録情報
- 出版社 : ソフトバンククリエイティブ (2003/6/14)
- 発売日 : 2003/6/14
- 言語 : 日本語
- 単行本 : 361ページ
- ISBN-10 : 4797324198
- ISBN-13 : 978-4797324198
- Amazon 売れ筋ランキング: - 1,468,665位本 (本の売れ筋ランキングを見る)
- カスタマーレビュー:
著者について
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
20 年くらい JavaScript の世界で働いており、特にゲーム周りの開発を得意としたソフトウェア・エンジニア。サンフランシスコでの起業を含め過去に複数社の起業ならびに事業売却を経験している連続起業家。ソフトウェア・エンジニアの経験を活かした写真関連の研究開発にも熱心。
-
トップレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
登るのに、どこから手をつけたらよいのかわからない、ということは
よくあると思います。
この本は、そんな初心者が手をつけ始めるのに格好の本です。
ソート,サーチ,再帰,リスト,ツリーなどの概念は、よりエレガントに
プログラムを書くのに必須の概念です。
この本をマスターすれば、さらに上級に進めるきっかけを得られるのでは
ないでしょうか。
初心者の人に向けた本でも、説明している言葉がわかりにくいことがあります。
この本は、そういった技術者特有の難しい言葉を使わずに、図とソースコードを豊富に用いて
それぞれのアルゴリズムを初心者が理解しやすい形で説明しています。
また、実際に説明したアルゴリズムを使ってサンプルプログラムを提示することが多く、
そのサンプルも15パズルなど読んでいて面白い題材を使っているので
あまりプログラミングになれていない人でもきっと理解しやすいだろうという印象を受けました。
ただ、いくつか説明を前後したり、細かいところを端折っていたりする部分も
見受けられましたが、そういうところは出来るだけ!コラムや後ろの章でカバーしているようです。
プログラムを書くことに慣れた人がリファレンス代わりに使うのには適しませんが、
プログラミングをはじめたばかりの人がステップアップに使うのであれば、
知識とプログラミングの楽しさ両方を得られる良書だと思います。
言語はCですが、各章の最後に同じソースコードのJava版も載っています。