開講学期
Course Start
2014年度 前期
授業区分
Regular or Intensive
週間授業
対象学科
Department


情報電子工学系学科 

夜間主コース
対象学年
Year
2
必修・選択
Mandatory or Elective
選択
授業方法
Lecture or Seminar
講義
授業科目名
Course Title
データ構造とアルゴリズム
授業科目名(英語)
Course Title
[授業科目名(英語)]
単位数
Number of Credits
2
担当教員
Lecturer
塩谷浩之
教員室番号
Office
V605
連絡先(Tel)
Telephone
内線5436
連絡先(E-mail)
E-mail
shioya (at mark) mmm.muroran-it.ac.jp
オフィスアワー
Office Hour
水曜11:00-12:00 (期間中に変更する場合がある)
授業のねらい
Learning Objectives
情報工学・科学に入門するための基本的なアルゴリズムとデータ構造について紹介し,アルゴリズムの基本設計,データ構造の設定などについての基本的な知識と運用方式を学ぶことをねらいとしている.
到達度目標
Outcomes Measured By:
1.アルゴリズムに関連する基礎概念を理解し,基本問題に対する計算量にオーダー
関数を用いて算出することができる。

2.リスト,スタック,キュー,木などの特徴的なデータ構造について理解し,問題に
対応したデータ構造を設計することができる。

3.整列,集合からの探索手法,文字列パターン照合の基本手法について,それらを解く
種々のアルゴリズムの構成方法を理解し,具体的な問題に適用し,それらの手順に
従った結果を導くことができる。

授業計画
Course Schedule
1.ガイダンス,データ構造とアルゴリズム入門 1.1
2.アルゴリズムの基礎概念,計算量 1.2, 1.3
3.基本的なデータ構造:スタック・キュー 2.1,2.2
4.基本的なデータ構造:リスト 2.3
5.単純な整列手法1
6.単純な整列手法2
7.単純な整列手法の解析
8.高速な整列手法1 3.3
9.高速な整列手法2 3.3
10.集合と探索,逐次探索法 4.1, 4.2
11.集合と探索,2分探索法1, 4.3
12.グラフと表現 5.1
13.グラフと表現 6.1
14.データ構造とアルゴリズム総論・演習
15.定期試験
教科書
Required Text
教科書:「あるごりずむ」広瀬貞樹著,近代科学社 
(必ず用意すること)
参考書
Required Materials
アルゴリズム 第1巻,第2巻,R.セジウィック著 (野下他共訳) 近代科学社

定本Cプログラマのためのアルゴリズムとデータ構造,近藤嘉雪著,ソフトバンク 
教科書・参考書に関する備考 データ構造とアルゴリズム,アルゴリズム基礎などの題目の書籍は多数あります.
多くが参考になるはずです.
成績評価方法
Grading Guidelines
[成績評価方法]
学期末の定期試験を100点満点として,60点以上を合格とする。

目標1.定期試験において,用語の理解を問う論述問題および計算問題を出題し,達成度を評価する。
目標2.定期試験において,用語の理解,手法の構成法を問う論述問題,および関連する計算問題を出題し,達成度を評価する。
目標3.定期試験において,用語の理解,手法の構成法を問う論述問題,および関連する計算問題を出題し,達成度を評価する。

再試は(原則)実施しません。

授業実質時間 90分×15週=1350分
履修上の注意
Please Note
卒業研究において,情報系の卒研を希望する場合には,学生には履修を勧めます。
充分にプログラム,解析などの数学などを習得している,ことが求められます。

情報以外の場合は,その専門で主に必要となる科目履修を優先しながら,履修計画を
立ててください。詳しくは,自分の学年を担当している夜間主クラス主任に相談
してください。


教員メッセージ
Message from Lecturer
基本的なC言語を習得していること
学習・教育目標との対応
Learning and Educational
Policy
この授業科目は情報電子工学系学科の夜間主コースの学習目標の以下の項目に対応している.
[コンピュータサイエンス]情報工学の基礎知識と応用能力を身につける。
関連科目
Associated Courses
情報系の数理基礎を含む科目、プログラミング
解析などの数学系科目
備考
Remarks
この授業では,アルゴリズムの「計算量」を主に学びます.
情報科学において,計算を理論的に解析するための重要な基礎概念であり,
情報技術者になる者にとっても大事な理論的道具です.