/DataStructureAndAlgorithm

The implementations of the book "プログラミングコンテスト攻略のためのアルゴリズムとデータ構造"

Primary LanguageC++

Data Structure and Algorithm

The implementations of the book "プログラミングコンテスト攻略のためのアルゴリズムとデータ構造" https://www.amazon.co.jp/dp/4839952957

2019年5月GW

目次

【Part 2】[基礎編]プロコンのためのアルゴリズムとデータ構造

  • Chapter2 アルゴリズムと計算量 @mokky

  • Chapter3 初等的整列 @mioto

    • 3.1 ソート:問題にチャレンジする前に
    • 3.2 挿入ソート
    • 3.3 バブルソート
    • 3.4 選択ソート
    • 3.5 安定なソート
    • 3.6 シェルソート
  • Chapter4 データ構造 @kaiho

    • 4.1 データ構造とは: 問題にチャレンジする前に
    • 4.2 スタック
    • 4.3 キュー
    • 4.4 連結リスト
    • 4.5 標準ライブラリのデータ構造
    • 4.6 データ構造の応用:面積計算
  • Chapter5 探索 @hirono

    • 5.1 探索:問題にチャレンジする前に
    • 5.2 線形探索
    • 5.3 二分探索
    • 5.4 ハッシュ
    • 5.5 標準ライブラリによる検索
    • 5.6 探索の応用:最適解の計算
  • Chapter6 再帰・分割統治法 @tanimu

    • 6.1 再帰と分割統治:問題にチャレンジする前に
    • 6.2 全探索
    • 6.3 コッホ曲線
  • Chapter7 高等的整列 @kaiho, @tanimu

    • 7.1 マージソート
    • 7.2 パーティション
    • 7.3 クイックソート
    • 7.4 計数ソート
    • 7.5 標準ライブラリによる整列
    • 7.6 反転数
    • 7.7 最小コストソート
  • Chapter8 木 @hirono

    • 8.1 木構造: 問題にチャレンジする前に
    • 8.2 根付き木の表現
    • 8.3 二分木の表現
    • 8.4 木の巡回
    • 8.5 木巡回の応用:木の復元
  • Chapter9 二分探索木 @mokky

    • 9.1 二分探索木:問題にチャレンジする前に
    • 9.2 二分探索木:挿入
    • 9.3 二分探索木:探索
    • 9.4 二分探索木:削除
    • 9.5 標準ライブラリによる集合の管理
  • Chapter10 ヒープ @yamad

    • 10.1 ヒープ:問題にチャレンジする前に
    • 10.2 完全二分木
    • 10.3 最大・最小ヒープ
    • 10.4 優先度付きキュー
    • 10.5 標準ライブラリによる優先度付きキュー
  • Chapter11 動的計画法 @mioto

    • 11.1 動的計画法とは:問題にチャレンジする前に
    • 11.2 フィボナッチ数列
    • 11.3 最長共通部分列
    • 11.4 連鎖行列積
  • Chapter12 グラフ @sean

    • 12.1 グラフ:問題にチャレンジする前に
    • 12.2 グラフの表現
    • 12.3 深さ優先探索
    • 12.4 幅優先探索
    • 12.5 連結成分
  • Chapter13 重み付きグラフ @mioto

    • 13.1 重み付きグラフ:問題にチャレンジする前に
    • 13.2 最小全域木
    • 13.3 単一始点最短経路

【Part 3】[応用編]プロコン必携ライブラリ

  • Chapter14 高度なデータ構造 @yamad

    • 14.1 互いに素な集合
    • 14.2 領域探索
    • 14.3 その他の問題
  • Chapter15 高度なグラフアルゴリズム @kaiho

    • 15.1 全点対間最短経路
    • 15.2 トポロジカルソート
    • 15.3 関節点
    • 15.4 木の直径
    • 15.5 最小全域木
    • 15.6 その他の問題
  • Chapter16 計算幾何学 @tanimu, @sean

    • 16.1 幾何学的オブジェクトの基本要素と表現
    • 16.2 直線の直交・平行判定
    • 16.3 射影
    • 16.4 反射
    • 16.5 距離
    • 16.6 反時計回り
    • 16.7 線分の交差判定
    • 16.8 線分の交点
    • 16.9 円と直線の交点
    • 16.10 円と円の交点
    • 16.11 点の内包
    • 16.12 凸包
    • 16.13 線分交差問題
    • 16.14 その他の問題
  • Chapter17 動的計画法 @mokky

    • 17.1 コイン問題
    • 17.2 ナップザック問題
    • 17.3 最長増加部分列
    • 17.4 最大正方形
    • 17.5 最大長方形
    • 17.6 その他の問題
  • Chapter18 整数論 @hirono

    • 18.1 素数判定
    • 18.2 最大公約数
    • 18.3 べき乗
    • 18.4 その他の問題
  • Chapter19 ヒューリスティック探索 @yuui

    • 19.1 8クイーン問題
    • 19.2 8パズル
    • 19.3 15パズル

自分の担当章のpushについて

  • dev/chapter* ブランチを切って作業してください
  • DataStructureAndAlgorithm/chapter*ディレクトリを作成し実装ファイルとスライド(あれば)を 加えてください

©️ 2015 Yutaka Watanobe, Printed in Japan