科目情報
科目名 アルゴリズムとデータ構造I 
クラス − 
授業の概要 数学の問題には、その問題の解き方はわかったとしても、現実的な時間の範囲内で解けるとは限らない問題が多く存在する。例えば、巨大な合成数の素因数分解も、2から順に割って行けば、原理的には可能ではあるが、とてつもなく時間がかかることがある。このように、問題の解き方と、その計算時間との関係は、数学の問題だけではなく、プログラムを書く上でも重要であり、本授業では、各種アルゴリズムを提示し、その計算量についての講義と、そのアルゴリズムを用いたプログラム作成の演習を行う。 
授業の到達目標 本授業の難易度を予め設定することは、難しい。開講後、受講者のプログラミング経験がどれ位あるかによって、授業内容の難易度の変更はあり得る。ソート,サーチ,数値計算で用いられる、アルゴリズムとデータ構造について、その方法と計算量の講義は必ず行うが、それをどの程度、実装する演習を行うかは、受講者のプログラミング経験に依存する。授業で用いるプログラミング言語もC言語を基本とするが、C言語を知らない学生は、他の言語を用いてもよいものとする。この授業は、各種アルゴリズムとデータ構造を理解し、あるアルゴリズムが与えられれば、そのアルゴリズムの時間的・空間的複雑さを正確に評価できることを、最低ラインの目標とする。 
授業計画 以下の内容の講義と演習を行う。
1. 電卓を用いた計算手順
2. アルゴリズムとデータ構造とは
3. ソート・アルゴリズムと、その計算量
4. サーチ・アルゴリズムと、その計算量
5. 数値計算と、その計算量
6. 各種データ構造 
テキスト・参考書及び自学自習についての情報 テキスト: C言語によるはじめてのアルゴリズム入門 改訂第3版,河西朝雄著,技術評論社
このテキストは、本授業の履修希望者にとって必須である。 
授業の形式 授業はすべて IPC で行い、ある程度講義が進むたびに、演習を行う。 
評価の方法(評価の配点比率と評価の要点) (1) 出席点 (30%)
(2) 授業態度 (20%)
(3) プログラミングのレポート (50%)
1. (2) 授業態度とは、授業への取り組みの真剣さを評価するものである。
2. (3) プログラミングのレポートとは、3 コマに 1 回のペースでの小レポートと最終レポートである。人のプログラムをコピーして提出したことが明らかになった場合は、レポート点は 0 点とする。 
本授業に関する情報 本授業を履修する前に、『Cプログラミング基礎・応用』を履修するか、何らかのプログラミング体験があることが望ましい。  
その他