科目コード | 科 目 名 | 学年 | 単位・時間 | 科目区分 | 授業形態 | 学修単位 | |||||||||||||
5108 | データ構造とアルゴリズム: Data Structures and Algorithms | 3S | 2・90分 | 履修 | 講義・通年 | - | |||||||||||||
教 員 名 | 三谷 芳弘 : MITANI Yoshihiro 江原 史朗 : EHARA Fumiaki | ||||||||||||||||||
授業概要 | 基本的なプログラムを書くために必要とされる代表的なデータ構造とアルゴリズムを学習する。例題や演習を通じてアルゴリズムを設計する能力を身に付ける。 | ||||||||||||||||||
到 達 目 標 | 評 価 方 法 | ||||||||||||||||||
(1)データ構造、アルゴリズムに関する基本事項が理解できる。 (2)探索,再帰的アルゴリズム,ソーティング,線形リストのプログラムが理解できる。 |
評価方法は(1)中間試験,(2)期末試験で評価する。評価配分は(1)50%,(2)50%とする。 | ||||||||||||||||||
学習・教育目標 | (B) | JABEE基準1(1) | |||||||||||||||||
授 業 計 画 | 回 | 項 目 | 内 容 | 授 業 計 画 | 回 | 項 目 | 内 容 | ||||||||||||
基本的なアルゴリズム | 基本的なアルゴリズムとフローチャートについて説明する。 | ソート(1) | 単純ソートについて説明する。 | ||||||||||||||||
第1 | 第16 | ||||||||||||||||||
基本的なデータ構造(1) | 配列、多次元配列について説明する。 | ソート(2) | クイックソートについて説明する。 | ||||||||||||||||
第2 | 第17 | ||||||||||||||||||
基本的なデータ構造(2) | 構造体について説明する。 | ソート(3) | マージソートについて説明する。 | ||||||||||||||||
第3 | 第18 | ||||||||||||||||||
探索(1) | 探索について説明する。 | ソート(4) | ヒープソートについて説明する。 | ||||||||||||||||
第4 | 第19 | ||||||||||||||||||
探索(2) | 線形探索について説明する。 | 集合 | 集合について説明する。 | ||||||||||||||||
第5 | 第20 | ||||||||||||||||||
探索(3) | 2分探索について説明する。 | 文字列処理(1) | 文字列の基本操作について説明する。 | ||||||||||||||||
第6 | 第21 | ||||||||||||||||||
探索(4) | ハッシュ法について説明する。 | 文字列処理(2) | 文字列探索について説明する。 | ||||||||||||||||
第7 | 第22 | ||||||||||||||||||
中間まとめ | 中間まとめとして試験を実施する。 | 中間まとめ | 中間まとめとして試験を実施する。 | ||||||||||||||||
第8 | 第23 | ||||||||||||||||||
スタックとキュー(1) | スタックとキューについて説明する。 | 線形リスト(1) | 線形リスト(ポインタ版)について説明する。 | ||||||||||||||||
第9 | 第24 | ||||||||||||||||||
スタックとキュー(2) | リングバッファによるキューについて説明する。 | 線形リスト(2) | 線形リスト(カーソル版)について説明する。 | ||||||||||||||||
第10 | 第25 | ||||||||||||||||||
再帰的アルゴリズム(1) | 再帰の基本について説明する。 | 線形リスト(3) | 循環・重連結リストについて説明する。 | ||||||||||||||||
第11 | 第26 | ||||||||||||||||||
再帰的アルゴリズム(2) | 再帰アルゴリズムの解析について説明する。 | 木構造(1) | 木構造について説明する。 | ||||||||||||||||
第12 | 第27 | ||||||||||||||||||
再帰的アルゴリズム(3) | ハノイの塔について説明する。 | 木構造(2) | 2分木について説明する。 | ||||||||||||||||
第13 | 第28 | ||||||||||||||||||
再帰的アルゴリズム(4) | 8王妃問題について説明する。 | 木構造(3) | 2分探索木について説明する。 | ||||||||||||||||
第14 | 第29 | ||||||||||||||||||
まとめ | 全体の学習事項のまとめを行う。 | まとめ | 全体の学習事項のまとめを行う。 | ||||||||||||||||
第15 | 第30 | ||||||||||||||||||
関連科目 | プログラミングT,U | ||||||||||||||||||
教 科 書 | 明解C言語によるアルゴリズムとデータ構造(柴田望洋・辻亮介著・ソフトバッククリエイティブ) | ||||||||||||||||||
参 考 書 | |||||||||||||||||||
授業評価・理解度 | 最終回に授業評価アンケートを行う。 | ||||||||||||||||||
副担当教員 | |||||||||||||||||||
備 考 |