データ構造とアルゴリズム

授業目的
コンピュータを用いて大量のデータを効率的に処理できるようになるために,基本的なデータ構造とアルゴリズムを学ぶことを目的とする.
到達目標
到達目標は次の通りである.
1)ソーティングや探索に関する基本的なアルゴリズムやデータ構造を理解している.
2)与えられたアルゴリズムの計算量解析ができる.
授業計画
第1回計算とアルゴリズム,アルゴリズムの例
第2回計算量の評価,プログラム設計をめぐる話題
第3回基本的なデータ構造(1):リスト,スタック,待ち行列
第4回基本的なデータ構造(2):グラフ,木と2分木
第5回基本的なデータ構造(3):集合と辞書
第6回順序付き集合の集合(1):優先度つき待ち行列,ヒープ
第7回順序付き集合の集合(2):2分探索木,平衡探索木
第8回整列のアルゴリズム(1):バブルソート,選択ソート,挿入ソート
第9回整列のアルゴリズム(2):ヒープソート
第10回整列のアルゴリズム(3):クイックソート
第11回整列のアルゴリズム(4):マージソート,整列アルゴリズムの計算量の下界
第12回整列のアルゴリズム(5):バケットソート,基数ソート
第13回アルゴリズムの設計:動的計画法
第14回期末試験