スキルアップ問題集のテーマに、定番アルゴリズムの習得がありますが、ジャンルごとにまとめてみました。
定番アルゴリズムの習得
線形探索
メニュー |
対象者 |
内容 |
線形探索メニュー |
線形探索がどういったものか分からない方にオススメのメニューです。 |
線形探索を複数回おこなって答えを得る手法を学習することができます |
線形探索メニュー応用編 |
線形探索メニューを学習し終えた人にオススメのメニューです。 |
線形探索メニューよりも複雑な構造の問題や、より多くの実装を必要とする問題が解けるようになります。 |
ハッシュ
メニュー |
対象者 |
内容 |
ハッシュメニュー |
DランクやCランクの人にオススメのメニューです。 |
シンプルなハッシュ関数・ハッシュテーブルの実装ができるようになります。 |
素数
メニュー |
対象者 |
内容 |
素数メニュー |
四則演算などの簡単な計算処理ができるようになった人におすすめのメニューです。 |
素数に関する簡単な数学的操作ができるようになります。 |
ユークリッドの互除法
メニュー |
対象者 |
内容 |
ユークリッドの互除法メニュー |
繰り返し・条件分岐・四則演算の問題が解けるようになってきた人にオススメのメニューです。 |
ユークリッドの互除法や、その派生・関連アルゴリズムの知識がつきます。 |
ユークリッドの互除法メニュー応用編 |
ユークリッドの互除法というアルゴリズムにまだ慣れていない方にオススメのメニューです。 |
ユークリッドの互除法・拡張ユークリッドの互除法を使う問題を解けるようになります。 |
リスト
メニュー |
対象者 |
内容 |
連結リストメニュー |
標準入出力・配列・条件分岐を学習した人にオススメのメニューです。 |
少し複雑で長いプログラムを手順を考えながら実装できるようになります。 |
リストメニュー応用編 |
連結リストメニューでの学習を終えた方にオススメのメニューです。 |
リスト構造を用いた高速化・実装の単純化ができるようになります。 |
ソートアルゴリズム
メニュー |
対象者 |
内容 |
素朴なソートアルゴリズムメニュー |
ソートを知らない方や、ソートの実装ができない方にオススメのメニューです。 |
挿入ソート、選択ソート、バブルソートの問題演習ができます。 |
効率的なソートアルゴリズムメニュー |
素朴なソートアルゴリズムメニューの内容を理解している方にオススメのメニューです。 |
シェルソート、マージソート、クイックソートの問題演習ができます。 |
ソート
メニュー |
対象者 |
内容 |
ソートメニュー応用編 |
配列・ループ処理・条件分岐といった言語の基礎的な部分ができる人にオススメのメニューです。 |
paizaランクB, Aレベルのソートが必要な問題が解けるようになります。 |
二分探索
メニュー |
対象者 |
内容 |
二分探索メニュー |
B, Cランクの方にオススメのメニューです。 |
初歩的な二分探索の問題が解けるようになります。 |
二分探索メニュー応用編 |
問題文を読んで二分探索を適用できることに気づけるようになります。 |
また、二分探索を応用した問題を解くことができるようになります。 |
累積和
メニュー |
対象者 |
内容 |
累積和メニュー |
計算量について意識しはじめた方にオススメのメニューです。 |
普通に解けば大きな計算量になってしまう問題を、累積和を使って解決することができるようになります。 |
累積和メニュー応用編 |
累積和に触れたばかりの人や、まだ典型的アルゴリズムに慣れてない人にオススメのメニューです。 |
累積和の考え方を応用して様々な問題を解くことができるようになります。 |
スタック・キュー/幅優先探索・深さ優先探索
メニュー |
対象者 |
内容 |
スタック・キューメニュー |
DランクやCランクの人にオススメのメニューです。 |
基礎的な文法が理解できた後に・アルゴリズムについて学習する前に取り組んでみてください。 |
スタック・キューメニュー応用編 |
スタック・キューメニューを学習し終えた人にオススメのメニューです。 |
スタック・キューを使う問題を解けるようになります。幅優先・深さ優先探索を学習する前に取り組んでおくと良いです。 |
幅優先探索・深さ優先探索メニュー |
入力形式についての基本操作ができる人にオススメのメニューです。 |
入力の形式に合わせた、幅優先探索・深さ優先探索ができるようになります。 |
定番グラフアルゴリズムの習得
メニュー |
対象者 |
内容 |
グラフ構造の入力メニュー |
グラフの概念や知識を知らない人や難しいアルゴリズムを設計できない人にオススメのメニューです。 |
グラフの入出力や隣接行列や隣接リストの実装ができるようになります。 |
木のメニュー |
グラフや木についての知識や扱いに自信がない人にオススメのメニューです。 |
プログラミングにおいて木を扱う際の基本的な操作がわかるようになります。 |
グラフ・DFSメニュー |
グラフの概念はなんとなく知っているが、実際にプログラムで扱ったことがない人にオススメのメニューです。 |
DFSを理解し、連結成分の数の判定や木の判定に使用できるようになります。 |
グリッド版ダイクストラ問題セット |
グリッド版ダイクストラ法を学びたい人向けです。 |
グリッド上でダイクストラ法を活用して最短経路などを求める問題をまとめています。 |
巡回セールスマン問題メニュー |
グラフ構造について理解している人にオススメのメニューです。 |
ヒューリスティクスアルゴリズムの思想・実装の仕方がわかるようになります。 |
ワーシャルフロイドメニュー |
最短路問題をどう解けばよいのかわからない方にオススメのメニューです。 |
最短路問題を解けるようになります。 |