問題解決力を鍛える!アルゴリズムとデータ構造

·
· 講談社
ଇବୁକ୍
368
ପୃଷ୍ଠାଗୁଡ଼ିକ

ଏହି ଇବୁକ୍ ବିଷୟରେ


★この本を買わずして何を買う!!★

競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。

【推薦の言葉】
プログラムが「書ける」ことと、効率の良い結果を得ることには大分ギャップがある。本書は、どのようにすれば効率のよい結果が得られるか? すなわちどのようなアルゴリズムを採用すればよいか? という点に対して、幅広くかつ明快に解説している。
また本書は、アルゴリズム初心者に対して、アルゴリズムへの興味を惹かれるように記述されている。アルゴリズム上級者への初めの一歩には最適であろう。
――河原林健一(国立情報学研究所副所長)

【全体を通して、アルゴリズムの設計技法を重視した構成】
まず、1、2章でアルゴリズムと計算量について概観します。そして、3~7章が、早くも本書のメインパートといえる部分であり、「アルゴリズムの設計技法」について詳しく解説します。これらの設計技法に関する話題は、多くの書籍では、最後の方で簡単に説明しています。しかし本書は、現実世界の問題を解決するための実践的なアルゴリズム設計技法の鍛錬を目指しています。そこで、アルゴリズム設計技法について前半で詳しく解説する構成としました。そして、これらの設計技法が後半の章でも随所に使われていくことを示していきます。

その後、8~11章では、設計したアルゴリズムを効果的に実現するうえで重要となるデータ構造を解説します。データ構造について学ぶことで、アルゴリズムの計算量を改善したり、また、C++やPythonなどで提供されている標準ライブラリの仕組みを理解して、それらを有効に活用したりすることができるようになります。

そしていったん、12章でソートアルゴリズムについての話題を挟んだ後に、13~16章でグラフアルゴリズムについて解説します。グラフは、非常に強力な数理科学的ツールです。多くの問題は、グラフに関する問題として定式化することで、見通しよく扱うことができるようになります。また、グラフアルゴリズムを設計するとき、3~7章で学ぶ設計技法や、8~11章で学ぶデータ構造が随所で活躍します。

最後に、17章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18章で、これらの難問に取り組むための方法論をまとめます。ここでも、動的計画法 (5章) や貪欲法 (7章) といった設計技法が活躍します。

ପଢ଼ିବା ପାଇଁ ତଥ୍ୟ

ସ୍ମାର୍ଟଫୋନ ଓ ଟାବଲେଟ
Google Play Books ଆପ୍କୁ, AndroidiPad/iPhone ପାଇଁ ଇନଷ୍ଟଲ୍ କରନ୍ତୁ। ଏହା ସ୍ଵଚାଳିତ ଭାବେ ଆପଣଙ୍କ ଆକାଉଣ୍ଟରେ ସିଙ୍କ ହୋ‍ଇଯିବ ଏବଂ ଆପଣ ଯେଉଁଠି ଥାଆନ୍ତୁ ନା କାହିଁକି ଆନଲାଇନ୍ କିମ୍ବା ଅଫଲାଇନ୍‍ରେ ପଢ଼ିବା ପାଇଁ ଅନୁମତି ଦେବ।
ଲାପଟପ ଓ କମ୍ପ୍ୟୁଟର
ନିଜର କମ୍ପ୍ୟୁଟର୍‍ରେ ଥିବା ୱେବ୍ ବ୍ରାଉଜର୍‍କୁ ବ୍ୟବହାର କରି Google Playରୁ କିଣିଥିବା ଅଡିଓବୁକ୍‍କୁ ଆପଣ ଶୁଣିପାରିବେ।
ଇ-ରିଡର୍ ଓ ଅନ୍ୟ ଡିଭାଇସ୍‍ଗୁଡ଼ିକ
Kobo eReaders ପରି e-ink ଡିଭାଇସଗୁଡ଼ିକରେ ପଢ଼ିବା ପାଇଁ, ଆପଣଙ୍କୁ ଏକ ଫାଇଲ ଡାଉନଲୋଡ କରି ଏହାକୁ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଟ୍ରାନ୍ସଫର କରିବାକୁ ହେବ। ସମର୍ଥିତ eReadersକୁ ଫାଇଲଗୁଡ଼ିକ ଟ୍ରାନ୍ସଫର କରିବା ପାଇଁ ସହାୟତା କେନ୍ଦ୍ରରେ ଥିବା ସବିଶେଷ ନିର୍ଦ୍ଦେଶାବଳୀକୁ ଅନୁସରଣ କରନ୍ତୁ।