関連サイト
本書の関連ページが用意されています。
内容紹介
■アルゴリズム実技検定(PAST)とは
アルゴリズム実技検定(PAST)とは、IT人材のプログラミングスキルを可視化することを目的としたAtCoder株式会社が主催する検定試験です。
■アルゴリズム実技検定の中級認定まで対応
本書は、「エントリー」「初級」「中級」の出題範囲を網羅的に解説しています。
プログラミングの基礎知識から、各種アルゴリズムの解説、数学的な問題解決方法まで、アルゴリズム実技検定だけでなく、これからのソフトウェアエンジニアに要求される知識を丁寧に盛り込みました。
本書を通じて学習することで、「中級」に求められる「様々なアプローチがある課題において、適切なアルゴリズムを選択し、高速なプログラムを作成」できることを目指しましょう。
■本書の特徴
□特徴1:はじめての挑戦でもこの1冊で準備できます! はじめてのプログラミング、はじめての検定試験でも安心して挑戦できます。
・問題の解き方から回答方法まで丁寧に解説
・中級範囲に出題されるアルゴリズム(問題解決方法)も細かく図解
・Pythonの特徴から基本文法、標準入出力も例を交えて丁寧に説明
□特徴2:実際の問題を解きながら学べます! アルゴリズム実技検定で求められる知識を問題に取り組みながら得られます。
・はじめての挑戦でもつまずかないように、概念図を豊富に掲載
・はじめてではわかりづらい、問題文の読み解き方も丁寧に解説
・過去にAtCoderやアルゴリズム実技検定で出題された問題を抜粋して解説
□特徴3:プログラマーに求められる知識も身につきます! 問題を解決するだけではなく、高速なプログラムの作成方法も学習できます。
・課題に合わせて、適切なアルゴリズムの選択方法を解説
・複数のアプローチがありえる問題では回答パターンを紹介
・計算量を考えてプログラムを書き換える方法も丁寧に説明
書誌情報
- 著者: 岩下 真也, 中村 謙弘(著), AtCoder株式会社, 高橋 直大(監修)
- 発行日: 2021-02-27 (紙書籍版発行日: 2021-02-27)
- 最終更新日: 2021-02-27
- バージョン: 1.0.0
- ページ数: 384ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
岩下 真也
プログラマーとして国内メーカーに就職後、29歳の時に競技プログラミングに出会う。AtCoder等のコンテストではbetrue12というユーザー名で活動。自身のブログでコンテストの問題やアルゴリズムの解説記事を掲載している。
中村 謙弘
ニートの時に競技プログラミングに出会い、AtCoderでプログラミングを学ぶ。現在はソフトウェアエンジニアとして検索エンジンの開発に従事する一方、趣味としてkenkooooというユーザー名でAtCoder等のコンテストに参加している。好きなプログラミング言語はRust。
AtCoder株式会社
高橋 直大
1988年生まれ。慶應義塾大学大学院政策メディア研究科修士課程修了。現在、AtCoder株式会社代表取締役社長。Microsoft主催のImagine Cupで世界3 位など、複数の世界大会で優勝を含む上位入賞を経験し、15 年間プログラミングコンテストに参加し続けている。
目次
第1章 アルゴリズム実技検定の挑戦にあたって
- 1.1 試験要綱
- 1.2 スケジュール・学習方法の手引き
- 1.3 アルゴリズム実技検定の特徴
- 1.4 本書で使用するプログラミング言語"Python"について
- 1.5 実行環境の準備
第2章 問題の解き方
- 2.1 PAST 採点の仕組みと回答方法
- 2.2 問題を解く順番
- 2.3 受験時に準備しておくべきもの
第3章 アルゴリズムとコーディング
- 3.1 アルゴリズムについて
- 3.2 データ構造について
- 3.3 コーディングについて
第4章 Pythonを使ったプログラミング[エントリー編]
- 4.1 Pythonの特徴
- 4.2 Python の基本文法
- 4.3 標準入出力の使い方
- 4.4 整数、小数の使い方
- 4.5 文字列の使い方
- 4.6 配列の使い方
- 4.7 if文を用いた条件分岐
- 4.8 条件判定とTrue、Falseの使い方
- 4.9 for文とwhile文を用いた繰り返し
- 4.10 辞書型の使い方
- 4.11 問題を解いてみよう
- 4.12 その他の応用的な機能
- 4.13 PyPyについて
第5章 基礎的なアルゴリズム[初級編]
- 5.1 2次元配列
- 5.2 全探索
- 5.3 グラフの基礎
第6章 応用的なアルゴリズム[中級編]
- 6.1 中級認定に向けて
- 6.2 計算量
- 6.3 幅優先探索と深さ優先探索
- 6.4 動的計画法
- 6.5 集合に対する全探索と動的計画法
- 6.6 数学的問題
- 6.7 累積和
- 6.8 貪欲法
- 6.9 二分探索
- 6.10 最短路問題
- 6.11 最小全域木問題
- 6.12 組み合わせと数え上げ問題
- 6.13 クエリの処理
第7章 さらなる得点を狙うために
- 7.1 アルゴリズムを組み合わせる
- 7.2 頻出考察テクニックを身につける
- 7.3 複雑な解法を整理して解ききる