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


【PR】この記事には広告を含む場合があります
  • 出版情報
  • ・著者:大槻兼資/著 秋葉拓哉/監修
  • ・出版日:20201002
  • ・ページ数:368P
  • レビュー数
  • ・週間:0記事
  • ・月間:0記事
  • ・年間:5記事
  • ・全期間:37記事

ジャンルTop10選

目次

◆2万部突破のベストセラー!みんな読んでる!◆
◆「 ITエンジニア本大賞2021 特別賞」受賞◆

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

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

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

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

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

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

概要

入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した

レビューの一覧

 ・『問題解決力を鍛える! アルゴリズムとデータ構造』の問題と同じオンラインコンテストの問題を探しました![2024-04-04に投稿]

 ・「問題解決力を鍛える!アルゴリズムとデータ構造」のコードをSwiftで書き換えていく 第2章[2023-12-20に投稿]

 ・「問題解決力を鍛える!アルゴリズムとデータ構造」のコードをSwiftで書き換えていく 第2章[2023-12-20に投稿]

 ・50代半ばでAtCoder入水しました[2023-10-25に投稿]

 ・Houdinist が競プロerになってみた話[2023-09-18に投稿]

 ・Atcoderで入水しました!^~^[2023-02-23に投稿]

 ・アルゴリズムとデータ構造の輪講をした話[2022-12-05に投稿]

 ・【AtCoder 色変記事】PythonでAtCoder水色になりました[2022-10-05に投稿]

 ・未経験Androidエンジニアの1年を振り返る[2022-09-08に投稿]

 ・グラフ理論:基礎編 その1(用語と探索アルゴリズム)[2021-12-28に投稿]

 ・今年読んだ書籍の読書記録【2021年版】[2021-12-25に投稿]

 ・アルゴリズムの世界地図[2021-12-23に投稿]

 ・AtCoderで茶色になりました[2021-12-08に投稿]

 ・[Rust] フォード・ファルカーソン法を実装する[2021-08-28に投稿]

 ・【色変記事】実務未経験がAtCoderで水色になるまで[2021-08-22に投稿]

 ・あのアルゴリズムはどこ? Pythonを使用してAtCoderの緑色や水色を目指す方に、30以上のアルゴリズムスニペットと100問以上の問題(ACコード付き)を紹介![2021-05-04に投稿]

 ・半年以上Ratingの百の位が変わらない茶コーダーが現状を自己考察してみた[2021-05-02に投稿]

 ・ネットワークフローを基礎から学びたい!【第1編 - これは知っておこう】[2021-05-02に投稿]

 ・問題解決力を鍛える!アルゴリズムとデータ構造の第 4 章「設計技法(2) : 再帰と分割統治法」を Python で解いてみた[2021-03-15に投稿]

 ・問題解決力を鍛える!アルゴリズムとデータ構造の第 3 章「設計技法(1) : 全探索」を Python で解いてみた[2021-03-12に投稿]

 ・競プロのTLE解法を救いたい with FPGA ~導入編~[2021-03-02に投稿]

 ・AtCoder Beginner Contest 114 CをElixirで解く[2021-02-21に投稿]

 ・けんちょん本を読みながらプログラミングしてみたよ。[2021-02-04に投稿]

 ・|> Kernel.==(0) |> if(do: "Yes", else: "No") Elixir is beautiful[2021-01-14に投稿]

 ・AtCoder ABC081B、ABC051B、ABC045CをElixirで解く [2021-01-03に投稿]

 ・「動的計画法を使う問題をElixirで関数型っぽく解いてみる」のFibonacci3をガード節を使って書き直してみる[2020-12-17に投稿]

 ・Unityで初学者から中級者までを駆け抜けるためのおすすめ書籍[2020-12-16に投稿]

 ・1年半のソフトウェアエンジニア長期インターンで出会ったオススメ本をたくさん紹介します[2020-12-04に投稿]

 ・Elixirで動的計画法(DP)を実装してみた(Goとの比較つき)[2020-11-28に投稿]

 ・ElixirでAtCoderのABC123を解いてみる![2020-11-25に投稿]

 ・全探索での部分和問題[2020-10-21に投稿]

 ・【けんちょん本 to Python】-第4章-「問題解決力を鍛える! アルゴリズムとデータ構造」掲載コードをPythonに書き直してみた![2020-10-09に投稿]

 ・【けんちょん本 to Python】「問題解決力を鍛える! アルゴリズムとデータ構造」掲載コードをPythonに書き直してみた! -目次-[2020-10-08に投稿]

 ・【けんちょん本 to Python】-第3章-「問題解決力を鍛える! アルゴリズムとデータ構造」掲載コードをPythonに書き直してみた![2020-10-08に投稿]

 ・【けんちょん本 to Python】-第2章-「問題解決力を鍛える! アルゴリズムとデータ構造」掲載コードをPythonに書き直してみた![2020-10-08に投稿]

 ・アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~[2018-04-19に投稿]

 ・AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~[2018-03-13に投稿]


amazonで確認