本書はコンピュータ サイエンスにおけるアルゴリズムとデータ構造を解説します。「プログラム書けるよ」と言う人達でも意外とアルゴリズムやデータ構造に関する知識を持っていません。 自身のプログラミング スキルを向上させたり隣のプログラマとちょっと差をつけるために是非とも身に着けておきたい知識です。

アルゴリズムとデータ構造は世の中にたくさんあります。本書では適当な書籍で学べる基本的なものを紹介します。データ構造の章では主に線形のデータ構造グラフデータ構造を解説します。アルゴリズムの章では主に探索アルゴリズム整列アルゴリズムを解説します。

データ構造

  1. 抽象データ型とクラス
  2. 線形のデータ構造
    1. リスト(配列)
    2. スタック [Stack]
    3. キュー
    4. 連想配列(ハッシュテーブル,辞書,マップ)
    5. 連結リスト
  3. グラフデータ構造
    1. ツリー
    2. バイナリーツリー(二分木)
    3. バイナリーサーチツリー(二分探索木)
    4. バランスドツリー(平衡木)
    5. ヒープ [Heap]

アルゴリズム

  1. 探索アルゴリズム
    1. リニアサーチ [Linear Search]
    2. バイナリーサーチ
  2. 整列アルゴリズム
    1. バブルソート
    2. 選択ソート
    3. 挿入ソート
    4. シェルソート
    5. クイックソート
    6. マージソート
    7. ヒープソート [Heap Sort]
    8. バケットソート [Bucket Sort]
    9. 分布数え上げソート [Counting Sort]

参考文献

  1. ウェブサイト
  2. 書籍