問題解決力を鍛える!アルゴリズムとデータ構造
★この本を買わずして何を買う!!★競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの...
問題解決力を鍛える!アルゴリズムとデータ構造
ワンステップ購入とは ワンステップ購入とは
商品説明
★この本を買わずして何を買う!!★
競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。
【推薦の言葉】
プログラムが「書ける」ことと、効率の良い結果を得ることには大分ギャップがある。本書は、どのようにすれば効率のよい結果が得られるか? すなわちどのようなアルゴリズムを採用すればよいか? という点に対して、幅広くかつ明快に解説している。
また本書は、アルゴリズム初心者に対して、アルゴリズムへの興味を惹かれるように記述されている。アルゴリズム上級者への初めの一歩には最適であろう。
――河原林健一(国立情報学研究所副所長)
【全体を通して、アルゴリズムの設計技法を重視した構成】
まず、1、2章でアルゴリズムと計算量について概観します。そして、3~7章が、早くも本書のメインパートといえる部分であり、「アルゴリズムの設計技法」について詳しく解説します。これらの設計技法に関する話題は、多くの書籍では、最後の方で簡単に説明しています。しかし本書は、現実世界の問題を解決するための実践的なアルゴリズム設計技法の鍛錬を目指しています。そこで、アルゴリズム設計技法について前半で詳しく解説する構成としました。そして、これらの設計技法が後半の章でも随所に使われていくことを示していきます。
その後、8~11章では、設計したアルゴリズムを効果的に実現するうえで重要となるデータ構造を解説します。データ構造について学ぶことで、アルゴリズムの計算量を改善したり、また、C++やPythonなどで提供されている標準ライブラリの仕組みを理解して、それらを有効に活用したりすることができるようになります。
そしていったん、12章でソートアルゴリズムについての話題を挟んだ後に、13~16章でグラフアルゴリズムについて解説します。グラフは、非常に強力な数理科学的ツールです。多くの問題は、グラフに関する問題として定式化することで、見通しよく扱うことができるようになります。また、グラフアルゴリズムを設計するとき、3~7章で学ぶ設計技法や、8~11章で学ぶデータ構造が随所で活躍します。
最後に、17章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18章で、これらの難問に取り組むための方法論をまとめます。ここでも、動的計画法 (5章) や貪欲法 (7章) といった設計技法が活躍します。
目次
- 1章 アルゴリズムとは
- 2章 計算量とオーダー記法
- 3章 設計技法(1):全探索
- 4章 設計技法(2):再帰と分割統治法
- 5章 設計技法(3):動的計画法
- 6章 設計技法(4):二分探索法
- 7章 設計技法(5):貪欲法
- 8章 データ構造(1):配列、連結リスト、ハッシュテーブル
- 9章 データ構造(2):スタックとキュー
- 10章 データ構造(3):グラフと木
この著者・アーティストの他の商品
前へ戻る
- 対象はありません
次に進む
小分け商品
前へ戻る
- 対象はありません
次に進む
この商品の他ラインナップ
前へ戻る
- 対象はありません
次に進む
初心者におすすめ
2021/05/21 22:54
0人中、0人の方がこのレビューが役に立ったと投票しています。
投稿者:たけー - この投稿者のレビュー一覧を見る
プログラミングを始めた方に最適な本だと思う
各種プログラミングコンテストで成績をあげたい人は特にこれを買った方がいいと思います
基本立ち帰りも大事だと思います^_^
ヨシ
2021/01/27 21:48
1人中、0人の方がこのレビューが役に立ったと投票しています。
投稿者:イ! - この投稿者のレビュー一覧を見る
アルゴリズムの基礎から学ぶことができる。各章ごとに数題の問題があり、理解がより深まる。ソースコードもあり理解の助けになる。