出版社内容情報
プログラム初学者からプログラミングコンテスト(競技プログラミング)、すべてのコーダー・エンジニアに必須のアルゴリズムとデータ構造を図解とコーディング、Aizu Online Judge(AOJ) のオンラインジャッジシステムで習得していきます。
プログラミングコンテストで必要となるアルゴリズムとデータ構造を体系的に学ぶための入門書です。基礎知識を身に付けながら問題解決力を高めることを目的としています。高度な数学力だけでなく、基本的なアルゴリズムの理解と応用によって多くの問題を解けるようになり、コンテストをより楽しめるようになることを目指しています。
本書の特徴は、オンラインジャッジ(AOJ:Aizu Online Judge)と呼ばれる自動採点システムを活用して学習を進める点です。読んで理解するだけでなく、実際にプログラムを実装し、その正しさや性能を検証することで知識を実践的なスキルへと変えていきます。オンラインジャッジは厳密なテストデータでプログラムを評価するため、正確な実装力や計算効率を意識したコーディング能力を養うことができます。正解判定を得る達成感や、スキルを積み重ねる楽しさによって、ゲーム感覚で学習を継続できる点も魅力です。
収録問題は、問題IDや制約条件、難易度、必要スキル、獲得スキルなどが整理されており、段階的な学習を支援します。内容は情報処理の基礎として汎用性の高いアルゴリズムとデータ構造を中心に構成され、標準ライブラリの仕組みや活用法、さらに応用問題への発展も学べます。
各章では概念解説、演習問題、解説、考察、解答例を組み合わせ、学習者のレベルに応じて「解説を読んでから実装する」あるいは「自力で挑戦してから解説を確認する」といった柔軟な学習方法を推奨しています。プログラミングコンテスト対策だけでなく、アルゴリズムやデータ構造を学ぶ教材としても活用できる一冊です。
本書は2015年1月発行『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』の内容に一部修正・変更を加えた新版となります。
【目次】
Part1 [準備編] プロコンで勝つための勉強法
1章 オンラインジャッジを活用しよう
Part2 [基礎編] プロコンのためのアルゴリズムとデータ構造
2章 アルゴリズムと計算量
3章 初等的整列
4章 データ構造
5章 探索
6章 再帰・分割統治法
7章 高等的整列
8章 木
9章 二分探索木
10章 ヒープ
11章 動的計画法
12章 グラフ
13章 重み付きグラフ
Part3 [応用編] プロコン必携ライブラリ
14章 高度なデータ構造
15章 高度なグラフアルゴリズム
16章 計算幾何学
17章 動的計画法
18章 整数論
19章 ヒューリスティック探索
内容説明
プログラマの必須知識&プロコンで勝つための必須テクニック「アルゴリズムとデータ構造」の幅広い知識をマスターをしよう。要件を理解し仕様に忠実なコーディングをできるようになる。コンピュータの資源(計算効率・メモリ)を意識した設計ができるようになる。数理的能力から高ランクを得ることができるプログラミングテクニックが満載。自動採点システム:オンラインジャッジ(AOJ)を通じて理解を深めよう!
目次
1 [準備編]プロコンで勝つための勉強法(オンラインジャッジを活用しよう)
2 [基礎編]プロコンのためのアルゴリズムとデータ構造(アルゴリズムと計算量;初等的整列;データ構造;データ構造;探索;再帰・分割統治法;高等的整列;木;二分探索木;ヒープ;動的計画法;グラフ;重み付きグラフ)
3 [応用編]プロコン必携ライブラリ(高度なデータ構造;高度なグラフアルゴリズム;計算幾何学;動的計画法;整数論;ヒューリスティック探索)
著者等紹介
渡部有隆[ワタノベユタカ]
1979年生まれ。博士(コンピュータ理工学)。会津大学 コンピュータ理工学科/情報システム学部門。コンピュータ理工学部 情報システム学部門。専門はビジュアルプログラミング言語。AIZU ONLINE JUDGE開発者
Ozy[オジィ]
学習塾経営の傍ら研究・開発を行う。主に組み合わせ最適化、可視化の分野を研究
秋葉拓哉[アキバタクヤ]
2011年東京大学大学院に入学。プログラミングコンテストではiwiとして活躍。TopCoderレーティングでの最高は世界4位(2013年)(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。
-
- 和書
- 拝啓、本が売れません



