データ構造とアルゴリズム
 Data Structures and Algorithms
 担当教員:小山 明夫 (KOYAMA Akio)
 担当教員の所属:理工学研究科
 開講学年:2年  開講学期:後期  単位数:2単位  開講形態:講義
 開講対象:情報・エレクトロニクス学科(情報・知能コース)  科目区分:専門教育科目・必修 
【授業の目的】
情報科学の基礎知識として必要となる,各種のデータ構造とそれらに関連するアルゴリズムについて学習する.

【授業の到達目標】
(a)各種のデータ構造(線形構造、木構造、グラフ構造)を理解する
(b)基本的な探索法(縦型探索法、横型探索法)を理解する
(c)文字列照合の代表的なアルゴリズム(KMP法)を理解する
(d)グラフの最短路問題の代表的なアルゴリズム(ダイクストラ法)を理解する
(e)解探索の代表的なアルゴリズム(Aアルゴリズム)を理解する
(f)データ整列の代表的なアルゴリズム(ヒープソート法,クイックソート法)を理解する
(g)データ探索の代表的なアルゴリズム(ハッシュ法、ニ分探索木法)を理解する

【授業概要(キーワード)】
線形構造,木構造,グラフ構造,スタックと待ち行列,文字列照合,グラフの最短路問題,解の探索,データ整列,データ探索

【科目の位置付け】
本科目は,学科のディプロマポリシーの3(1)「情報科学の基礎知識を身につけ,それを応用する能力を身につけている」の前半部(基礎知識を身に付ける)に対応する.
本科目と関連が深い科目:プログラミング言語,データベース論,計算理論,計算機基礎,プログラミング演習Ⅰ~Ⅲ

【授業計画】
・授業の方法
講義形式で行う.毎回15分~20分間でその時間内に学んだ内容の演習問題を解いてもらう.
・日程
第1回 ガイダンス,データ構造とアルゴリズムの基礎
第2回 線形構造
第3回 スタックと待ち行列,基本的な探索法
第4回 文字列照合(単純照合法、KMP法)
第5回 文字列照合(KMP法)
第6回 木構造
第7回 グラフ構造
第8回 中間試験と解説
第9回 グラフの最短路問題(ダイクストラ法など)
第10回 解の探索(Aアルゴリズムなど)
第11回データ整列(ヒープソート法など)
第12回 データ整列(クイックソート法など)
第13回 データ探索(ハッシュ法など)
第14回 データ探索(ニ分探索木法など)
第15回 期末試験と解説

【学習の方法】
・受講のあり方
欠席や遅刻をすると授業内容が分からなくなるので必ず遅刻せずに出席すること.
私語など他の受講生の迷惑となる行為は行わないこと.受け身にならず積極的な受講を期待する.
・授業時間外学習へのアドバイス
予習として,講義資料をホームページで公開するので,事前に読んでくるとともに疑問点をノートに書きだしてくる.
復習として,演習問題をもう一度解いてみるとともに講義で出てきたアルゴリズムを実際にC言語を用いてプログラミングするのが望ましい.

【成績の評価】
・基準
授業の到達目標に記載した各項目を総合的に評価して,総合点で60点以上を合格とする.
・方法
中間試験(50点),期末試験(50点)の配点で成績評価をする.

【テキスト・参考書】
テキストとして,自作の講義資料を用いる.
参考書
1. データ構造とアルゴリズム、斎藤信男・西原清一 著、コロナ社、2800円(1998)
2. Cで学ぶデータ構造とアルゴリズム、西原清一 著、オーム社、2600円(2008)
3. アルゴリズムとデータ構造、原 隆浩 他著、共立出版、2400円(2012)

【その他】
・学生へのメッセージ
講義の前後に予習,復習をしっかりやり,受け身にならず積極的な受講を期待する.
・オフィス・アワー
毎週月曜日 16:00~17:30 相談場所:工学部8号館8-301号室
これ以外の時間帯でも,在室していれば対応可能.

50302600-2019-05-52557