I 計算機を使って問題を効率的に解く際に必要となる基本アルゴリズムと,その実現に適したデータ構造について述べる。
II アルゴリズムとは何か,アルゴリズムの計算量,アルゴリズムの基本的設計法(二分探索法,分割統括法,動的計画法,ランダマイズド法)基本的データ構造(線形リスト,ヒープ,二分探索木,二色木)など。
よいソフトウェアを作成するためのプログラミング技術の基礎として,アルゴリズムの基本と,その実現に適した情報表現法について述べる.演習では,C言語による簡単なプログラミング実習も行う.
1.アルゴリズムとその効率の解析方法
2.二分探索法(プログラミング,効率の計測・制御)
3.分割統治法(プログラミング,効率の計測・制御)
4.動的計画法(プログラミング,効率の計測・制御)
5.ランダムアルゴリズム(プログラミング,効率の計測・制御)
6.データ構造の基本
7.2分探索木(プログラミング,効率の計測・制御)
8.2色木(プログラミング,効率の計測・制御)
9.NP完全問題,問題の難しさの分類
(参考書)
1.茨木俊秀,Cによるアルゴリズムとデータ構造,昭晃堂
2.T. Cormen, C. Leiserson, and R. Rivest(浅野 哲夫 他訳),アルゴリズム・イントロダクション(第1巻),近代科学社 1990.
3.T. Cormen, C. Leiserson, and R. Rivest,and C.Stein, Introduction to Algorithms(2nd edition),MIT Press,2001.
とくになし.情報科学科所属者以外は担当教員に演習方法等の事前相談をすること.
演習の小テスト,プログラムレポート,期末試験の成績による