検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に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時 |