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