|
1
|
| 授業計画/Class |
【一回目のみオンデマンドで実施・first lecture only is on demand】 Algorithms and Data Structures: Concepts and Applications / アルゴリズムとデータ構造の概要と応用分野 |
| 事前学習/Preparation |
特になし |
| 事後学習/Reviewing |
膨大なデータについての宿題の提出 |
|
|
2
|
| 授業計画/Class |
Representation and Evaluation of Algorithms / アルゴリズムの表現と評価 |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備; 疑似コードとして利用される Ruby のインストール |
| 事後学習/Reviewing |
簡単なアルゴリズムの実行ステップ数の調査 |
|
|
3
|
| 授業計画/Class |
Asymptotic Time Complexity and the Big-O Notation / 漸近的計算量と O 記法 |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備; 高校の教科書などで対数や極限についての調査・再確認 |
| 事後学習/Reviewing |
毎日の授業資料の確認、特定の計算量 (例: O(1), O(n log n) など) のアルゴリズムの調査 |
|
|
4
|
| 授業計画/Class |
Abstract Datatypes and Data Structures; Stacks, Queues, ... / 抽象データ型とデータ構造、スタック、キューなど |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備 |
| 事後学習/Reviewing |
抽象データ型の実装の比較 |
|
|
5
|
| 授業計画/Class |
Heaps / ヒープ |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備; 抽象データ型の順位キューの実装 |
| 事後学習/Reviewing |
ヒープの初期作成の計算量の調査 |
|
|
6
|
| 授業計画/Class |
Simple Sorting Algorithms, Divide and Conquer, Merge Sort / 単純な整列法、分割統治法、マージソート |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備; 整列の応用を考案・調査 |
| 事後学習/Reviewing |
手作業による処理についてのレポートの提出 |
|
|
7
|
| 授業計画/Class |
Quicksort, Average Time Complexity / クイックソート、平均計算量 |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備 |
| 事後学習/Reviewing |
カードやウェブアニメーションを使った整列アルゴリズムの復習 |
|
|
8
|
| 授業計画/Class |
Dictionaries and their Implementation: Binary Trees, ... / 辞書とその実装: 二分木など |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備 |
| 事後学習/Reviewing |
大きさ n の二分木の最大・最低の高さの計算 |
|
|
9
|
| 授業計画/Class |
Balanced Trees / 平衡木 |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備; 2-3-4木への項目の挿入のアルゴリズムの公安 |
| 事後学習/Reviewing |
B+木のノード数・高さの計算 |
|
|
10
|
| 授業計画/Class |
Hash Functions and Hash Tables / ハッシュ関数とハッシュ表 |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備 |
| 事後学習/Reviewing |
プログラム言語 Ruby のハッシュの実装の調査 |
|
|
11
|
| 授業計画/Class |
Algorithms for String Matching / 文字列照合のアルゴリズム |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備 |
| 事後学習/Reviewing |
文字列照合の疑似コードの実装の確認 |
|
|
12
|
| 授業計画/Class |
Dynamic Programming / 動的計画法 |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備 |
| 事後学習/Reviewing |
動的計画法が応用可能な問題の調査 |
|
|
13
|
| 授業計画/Class |
Algorithm Design Methods / アルゴリズムの設計方法 |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備 |
| 事後学習/Reviewing |
期末試験への準備 |
|
|
14
|
| 授業計画/Class |
NP-Completeness, Reducibility / NP-完全性、帰着可能性 |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備; 三つの (NP) 問題の共通点の発見 |
| 事後学習/Reviewing |
期末試験への準備 |
|
|
15
|
| 授業計画/Class |
Approximation Algorithms / 近似アルゴリズム |
| 事前学習/Preparation |
復習; ミニテスト (不定期) のための準備 |
| 事後学習/Reviewing |
期末試験への準備 |
|