検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れて、検索してください。
科目名 | コンピュータ科学特論Ⅱ | ||||
---|---|---|---|---|---|
教員名 | 谷 聖一 | ||||
単位数 | 2 | 課程 | 前期課程 | 開講区分 | 文理学部 |
学期 | 前期 | 履修区分 | 選択必修 |
授業テーマ | アルゴリズムとデータ構造再入門及び計算複雑性理論入門 |
---|---|
授業のねらい・到達目標 | 効率の良いプログラムを作るには, 良い方法(アルゴリズム)とそれに適したデータの保持方法 (データ構造) を用いる必要がある.一方,問題ごとにそれ以上高速化できない限界もある.本講義の前半では,データ構造とアルゴリズム設計の基本を,実際にプログラミングをしながら学ぶ.後半では,問題が持つ本質的な困難性を扱う計算複雑性理論の基礎を学ぶ. |
授業の方法 | 前半は,プログラミングコンテストに出題された問題を題材に,講義と演習を織り交ぜながら進める.後半は,講義形式で行う. |
事前学修・事後学修,授業計画コメント | 事前・事後とも,演習に取り組むこと. |
授業計画 | |
---|---|
1 | ガイダンス(授業のテーマや到達目標及び授業の方法について説明する)・配列と整列 |
2 | 基本的なデータ構造(スタック・キュー) |
3 | 探索 |
4 | 最小全域木1 クラスカルのアルゴリズム |
5 | 最小全域木2 プリムのアルゴリズム |
6 | 最短路探索1 ダイクストラのアルゴリズム |
7 | 最短経路探索2 ベルマンフォードのアルゴリズムとワーシャルフロイドのアルゴリズム |
8 | 分割統治法 |
9 | 動的計画法(1)概念・一般論 |
10 | 動的計画法(2)応用 |
11 | 計算可能性 |
12 | 計算量・計算複雑性 |
13 | 充足可能性問題(1)前半 |
14 | 充足可能性問題(2)後半 |
15 | クックの定理・まとめ(これまでの復習・解説を行い授業の理解を深める) |
その他 | |
---|---|
教科書 | 講義時に資料を配布する. |
参考書 | J. Kleinberg, E. Tardos 著 『アルゴリズムデザイン』 共立出版 2008年 秋葉拓哉・岩田陽一・北川宜稔 著 『プログラミングコンテストチャレンジブック第2版』 毎日コミュニケーションズ 2014年 第2版 |
成績評価の方法及び基準 | 授業内テスト(20%)、授業参画度(80%) |
オフィスアワー | 月曜18時〜19時 |