検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
令和元年度以前入学者 | データ構造 | ||||
---|---|---|---|---|---|
教員名 | 大澤正彦 | ||||
単位数 | 2 | 学年 | 3 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 前期 | 履修区分 | 選択必修 |
授業の形態 | オンデマンド型(Powerpointによる録画授業配信) |
---|---|
授業概要 | データ構造の基礎を実践的に学ぶ |
授業のねらい・到達目標 | 効率の良いプログラムを作るには,良い方法(アルゴリズム)とそれに適したデータの保持方法 (データ構造) を用いる必要がある. 本講義では,リスト,スタック,キュー,木構造,ハッシュといった基本的なデータ構造の概念を理解するとともにC言語(あるいは C++)で実装できるようになる. この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応している. |
授業の方法 | Blackboardを通じて、オンデマンド教材を配布する。(15分程度x3) 受講生はその教材を視聴し、学修すること。 また、課題を解き、期日まで(特に指定がない場合は翌週の講義まで)に所定の方法で提出すること。 課題の回答は翌週までに提供するので、復習すること。また、Blackboardの掲示板機能を通して「質問」と「議論」の機会を提供する。 |
履修条件 | 「実践プログラミング2」の内容を理解していることを前提に講義を進める. |
授業計画 | |
---|---|
1 |
再帰呼び出し復習 2分探索木復習 【事前学習】「実践プログラミング2」の内容をあらかじめ復習しておく (2時間) 【事後学習】再帰呼出し・2分探索木に関するプログラミング課題に取り組む (2時間) |
2 |
2分探索木のトラバース復習
【事前学習】2分探索木のトラバーサルについて復習しておく (2時間) 【事後学習】2分探索木に関するプログラミング課題に取り組む (2時間) |
3 |
平衡木の概念
【事前学習】平衡木について事前に確認する (2時間) 【事後学習】平衡機の概念に関する課題に取り組む (2時間) |
4 |
平衡木の実装
【事前学習】平衡木の実装について事前に確認する (2時間) 【事後学習】平衡木に関するプログラミング課題に取り組む (2時間) |
5 |
ヒープ木の概念と実装
【事前学習】ヒープ木について事前に確認する (2時間) 【事後学習】ヒープ木に関するプログラミング課題に取り組む (2時間) |
6 |
木構造に関して復習・解説を行い授業の理解を深める
【事前学習】第1回〜第5回の内容について復習しておく (2時間) 【事後学習】木構造に関するプログラミング課題に取り組む (2時間) |
7 |
スタックとキュー
【事前学習】スタックとキューについて事前に確認する (2時間) 【事後学習】スタックとキューに関するプログラミング課題に取り組む (2時間) |
8 |
スタックとキューの探索への応用 :幅優先探索
【事前学習】幅優先探索について事前に確認する (2時間) 【事後学習】幅優先探索に関するプログラミング課題に取り組む (2時間) |
9 |
スタックとキューの探索への応用 :深さ優先探索
【事前学習】深さ優先探索について事前に確認する (2時間) 【事後学習】深さ優先探索に関するプログラミング課題に取り組む (2時間) |
10 |
再帰呼び出しと深さ優先探索
【事前学習】再帰呼出しを用いた深さ優先探索について事前に確認する (2時間) 【事後学習】再帰呼出しを用いた深さ優先探索に関するプログラミング課題に取り組む (2時間) |
11 |
ハッシュ関数 内部ハッシュ法 【事前学習】ハッシュ関数・内部ハッシュについて事前に確認する (2時間) 【事後学習】内部ハッシュに関するプログラミング課題に取り組む (2時間) |
12 |
外部ハッシュ法
【事前学習】外部ハッシュについて事前に確認する (2時間) 【事後学習】外部ハッシュの時間計算量解析に関する課題に取り組む (2時間) |
13 |
スタック・キュー・探索・ハッシュ法に関して復習・解説を行い授業の理解を深める
【事前学習】スタック・キュー・探索・ハッシュ法について復習しておく (2時間) 【事後学習】スタック・キュー・探索・ハッシュ法に関する課題に取り組む (2時間) |
14 |
木・探索に関するまとめ(これまでの復習・解説を行い授業の理解を深める)
【事前学習】第1回〜第13回の内容について復習しておくこと (2時間) 【事後学習】木・探索に関するプログラミング課題に取り組む (2時間) |
15 |
これまでの復習・解説を行い授業の理解を深める
【事前学習】この講義に関連して行ったプログラミングについて復習しておく (2時間) 【事後学習】講義全体の復習をする (2時間) |
その他 | |
---|---|
教科書 | 森元 逞(著) 『Cをさらに理解しながら学ぶデータ構造とアルゴリズム』 共立出版 2007年 |
参考書 | 紀平 拓男・春日 伸弥(著) 『プログラミングの宝箱 アルゴリズムとデータ構造』 ソフトバンククリエイティブ 2011年 第2版 |
成績評価の方法及び基準 | レポート:オンデマンド教材に関連するプログラミング課題とそのレポートによって評価する(100%) 授業内テストは,3回の小テスト等を合わせて評価する.詳細は初回の講義で述べる. |
オフィスアワー | 随時受け付ける。授業時に伝えるメールアドレスにてアポイントを取ること。 |