基本的なアルゴリズムとデータ構造についての知識は,情報科学のどの分野を専門とする人にとっても,必要不可欠なものである。本講義では重要なアルゴリズムとデータ構造について解説するとともに,分割統治法,動的計画法などのアルゴリズム設計法についても適宜紹介する。

1. 導入
(アルゴリズムとは, アルゴリズムの計算量, データ構造)
2. 探索
(線形探索, 2分探索, B木, ハッシュ法)
3. ソーティング
(簡単なソート法, クイックソート, ヒープソート, マージソート)
4. グラフアルゴリズム
(グラフと木, グラフを表すデータ構造, グラフの探索, 最短経路)
5. 文字列のマッチング
6. アルゴリズムの設計法
(分割統治法,動的計画法)

石畑清著:アルゴリズムとデータ構造,岩波書店,1989

1.T.H.Cormen,C.E.Leiserson and R.L.Rivest: Introduction to Algorithms, The MIT Press, 1990.
(邦訳 T.コルメン, C.ライザーソン, R.リベスト著, 浅野哲夫他訳:
アルゴリズムイントロダクション(全3巻), 近代科学社, 1995)

2. R.Sedgewick: Algorithms in C, Addison-Wesley, 1990.

特になし

成績評価は、講義の出席状況・課題提出(40%)、及び試験(60%)によって行う。