開講学期 2008年度 後期
授業区分 週間授業
対象学科 情報工学科1年
対象学年 1
必修・選択 選択
授業方法 講義と演習
授業科目名 データ構造とアルゴリズム
単位数 2
担当教員 佐藤和彦
教員室番号 V502
連絡先(Tel) 0143-46-5414
連絡先(E-mail) kazu@csse.muroran-it.ac.jp
オフィスアワー 木曜日 12:55-14:25 (V502室)
授業のねらい データ構造とはメモリ上でのデータの表現方法であり,アルゴリズムは問題を解くための
具体的手順(算法)である.
本講義では,基本的なアルゴリズムとデータ構造について紹介し, アルゴリズムの基本設計,
データ構造の設定などについての基礎的な知識と運用方式を学ぶことをねらいとしている.
到達度目標 1. データ構造について仕組みと特徴を理解し,広くデータの取り扱いに応用できる(30%).
2. プログラム言語に依存しない一般的概念としてのアルゴリズムについて理解し,計算量や設計の考え方を説明できる(30%).
3. 講義で扱う基本的なアルゴリズムについて理解し,それぞれの用途及び長短所について説明できる(40%).
授業計画  1週目 アルゴリズムとデータ構造入門
 2週目 アルゴリズムと計算量(1)ユークリッドの互除法
 3週目 アルゴリズムと計算量(2)基本的な探索アルゴリズム
 4週目 配列を使ったデータ構造(1)ハッシュ法
 5週目 配列を使ったデータ構造(2)スタック構造とキュー構造
 6週目 C言語によるアルゴリズム(1)
 7週目 連結リスト構造
 8週目 木構造とグラフ
 9週目 探索木(1)
10週目 探索木(2)
11週目 C言語によるアルゴリズム(2)
12週目 整列法(1)単純な整列アルゴリズム
13週目 整列法(2)高速な整列アルゴリズム
14週目 整列法(3)別アプローチによる高速整列法
15週目 総復習演習
16週目 定期試験
教科書及び教材 教科書:近藤嘉雪著 「Cプログラマのためのアルゴリズムとデータ構造」 ソフトバンク社(定価2700円+税)

本講義では言語に依存しないアルゴリズムを中心に講義をするため教科書はあまり利用しませんが、この先の実験・演習でC言語を使ったプログラムを作成して行く上で、本講義の内容をそれらに生かすために非常に役に立つテキストです.ぜひ購入して各自で自習してください.
 
授業に使用する必要な資料は適宜プリントとして配付します.
参考書 (1) 広瀬貞樹著 「あるごりずむ」 近代科学社 (定価2400円+税)
(2) R.セジウィック著(野下他共訳) 「アルゴリズム 第1巻,第2巻」 近代科学社  
(3) 平田富夫著 「アルゴリズムとデータ構造」 森北出版 (定価2200円+税)

教科書は実際のプログラムが多く収録されている実用書ですが、上記に挙げた参考書は、データ構造とアルゴリズムをより理論的に取り上げているものばかりです.学問として興味がある方はぜひ一読することを勧めます.本講義の内容に最も近いのは(1)で示した参考書です。

他にもアルゴリズムに関する書籍は多く出版されていますので,いくつか読み比べて自分に合った読みやすい参考書を持つことを勧めます. 
成績評価方法 定期試験(100点満点)で成績を評価する. 60点以上を合格とする.
定期試験の不合格者に対して再試験を1度に限り実施する.
ただし再試験で合格した者は成績の上限を「可」とする.
履修上の注意 1)ごく簡単なCプログラミングを習得していることが望ましい.
2)毎回講義の後に演習問題を実施します.成績には含まれませんが復習に役立ててください.
3)授業の変更や緊急時の連絡は授業中またはV棟の掲示板で通知をします.
4)再試験は定期試験を受験しない者は対象外とします.
教員メッセージ この講義は,これから先の実験・演習,卒業研究、また、ソフトウェアの開発の道に進むことを希望する者にとっては社会に出てからも必要となる重要な内容を含んでいます.
ソフトウェアを自分で作り出して行く上で,アルゴリズムとデータ構造の基本を知っていることは非常に重要で必要不可欠です.
しっかりとこの講義でそれらの基礎を習得してこれからに生かせるようにしてください.
学習・教育目標との対応 この授業科目は情報工学科の学習目標の以下の項目に対応している。
情報技術者[コンピュータサイエンス]情報工学の基礎知識と応用能力を身につける.
関連科目 この科目の履修にあたっては,並行して開講されるプログラミングを履修していることが望ましい.
本講義は,今後開講される情報工学の各演習や卒業研究などに必要となる基礎能力として広く関係する.
備考