2015年度工学院大学 情報学部情報デザイン学科
○アルゴリズム基礎演習(Exercises of Algorithms)[1333]
1単位 藤井 昭宏 准教授 [ 教員業績 JP EN ]
- <学位授与の方針>
◎ | 1. 基礎知識の習得 | | 2. 専門分野知識の習得 | ○ | 3. 汎用的問題解決技能 | | 4. 道徳的態度と社会性 | | 5. 創成能力 |
- <授業のねらい>
- 「アルゴリズム基礎論」で学んだ基本的なデータ構造とアルゴリズムを実際に実装することにより、個々のデータ構造とアルゴリズムについての理解を深めると共に、具体的な問題を解決する際の計算量の重要性について認識する。
- <受講にあたっての前提条件>
- 「プログラミング基礎」「プログラミング基礎演習」を受講し、基本的なC言語によるプログラミングの仕方を知っていること。
「アルゴリズム基礎論」を同時に履修すること。
- <具体的な到達目標>
- ・アルゴリズムの計算量について学び、データ構造とアルゴリズムの重要性を理解している
・配列や連結リストを用いたリストデータ処理の方法を理解し実際に実装できる ・代表的なソートアルゴリズムを知りその特性を理解している ・全探索・二分探索のアルゴリズムを理解し実装できる
- <授業計画及び準備学習>
- 学習準備
1. 基本的なデータ構造と処理: 基本的なデータ構造(基本型、配列、構造体)と処理(分岐、繰り返し)を実装する (3章 データ型、配列、構造体) 2. ポインタ・入出力: ポインタの概念と典型的な利用場面について学ぶ (7章 ポインタの概念) 標準入出力とファイル入出力の利用方法を学ぶ (8章 ファイル入出力) 3. 関数と再帰処理: 関数の定義と呼出について学び、その応用として再帰処理について考察する (4章 関数) 4. 探索: 同じ動作を行う全探索と二分探索について比較し考察する (5章 表構造での探索) 5. 計算量: 計算量の概念について学び、いくつかのアルゴリズムに対する評価を行う (6章 アルゴリズムと計算量) 6. 配列によるスタック: スタックの概念を学び、配列による実装を行う (9章 スタック) 7. 基本的なソート: 単純な交換の繰り返しによるいくつかのソートアルゴリズムを実装する (10章 ソート(整列)) 8. 総合課題 1〜7回の内容を踏まえた応用的な課題問題を行う 9. クイックソート、マージソート: 分割統治を再帰的に行うソートアルゴリズムについて学ぶ (10章 ソート(整列)) 10. 連結リスト1: 連結リストの基本的な考え方について学ぶ (11章 リスト構造と待ち行列) 11. 連結リスト2: データリストを配列と連結リストで実装した時の特性について考察する (12章 種々のリスト構造) 12. 木構造1: 二分木の基本的な考え方について学ぶ (14章 木構造・2分探索木) 13. 木構造2: AVL木など二分木を実際に利用する際の工夫について学ぶ (15章 種々の木構造) 14. 応用: 具体的な問題にアルゴリズムを適用する際の考え方について学ぶ 15. 総合課題 14回までの内容を踏まえたレポート作成する
学習準備 各単元に対応する教科書の章をあらかじめ読んでおくこと。 前回の課題に関する解説を元に自分のプログラムを見直し、必要な修正を行うこと。 ※自力で予習と課題に時間をかけて取り組んでも理解が不十分な場合は、必ずSAを利用すること。
- <成績評価方法>
- 「演習に出席し課題へ取り組みプログラムとレポートを提出する」事に対して各回で評価
各回評価の合計を成績とする レポートとアルゴリズム基礎論の結果と合わせて到達目標に照らして、6段階のGrade(A+,A,B,C,D,F)で評価し、 D以上の者に単位を認める。
- <教科書>
- 森元逞「Cをさらに理解しながら学ぶ データ構造とアルゴリズム」
ISBN: 978-4-320-12197-3 出版社: 共立出版
- <参考書>
- 特になし
- <オフィスアワー>
- 授業の前後の時間を空けておくので、質問がある場合はそのときにまとめて聞きに来ること。
このページの著作権は学校法人工学院大学が有しています。
Copyright(c)2015 Kogakuin University. All Rights Reserved. |
|