科目名 |
アルゴリズムとデータ構造 |
クラス |
− |
授業の概要 |
数学の問題には、その問題の解き方はわかったとしても、現実的な時間の範囲内で解けるとは限らない問題が多く存在する。例えば、巨大な合成数の素因数分解も、2 から順に割って行けば、原理的には可能ではあるが、とてつもなく時間がかかることがある。このように、問題の解き方と、その計算時間との関係は、数学の問題だけではなく、プログラムを書く上でも重要であり、本授業では、各種アルゴリズムを提示し、その計算量についての講義と、そのアルゴリズムを用いたプログラム作成の演習を行う。 |
授業の到達目標 |
本授業では、情報免許科目『コンピュータと情報処理II』で使用したテキストと同じテキストを用いる。『コンピュータと情報処理II』では、テキストの 1 〜 9 章に関して取り扱ったが、C言語によるプログラミングにおいて重要なポインタの扱い方やデータ構造の構築に関する講義や演習ができなかった。そこで、最初の5コマで、このような内容に関する講義・演習をした上で、ソート,サーチ,数値計算で用いられる、アルゴリズムとデータ構造について、その方法と計算量の講義・演習を行う。この授業は、各種アルゴリズムとデータ構造を理解し、あるアルゴリズムが与えられれば、そのアルゴリズムの時間的・空間的複雑さを正確に評価できることを、最低ラインの目標とする。 |
授業計画 |
以下の内容の講義と演習を行う。
回 |
内容 |
1 | 授業全体のオリエンテーション C言語の応用 (1) ポインタ |
2 | C言語の応用 (2) ポインタ |
3 | C言語の応用 (3) ポインタ |
4 | C言語の応用 (4) 構造体 |
5 | C言語の応用 (5) データ構造の構築 |
6 | アルゴリズムとデータ構造とは ソート・アルゴリズムと、その計算量 (1) |
7 | ソート・アルゴリズムと、その計算量 (2) |
8 | ソート・アルゴリズムと、その計算量 (3) |
9 | ソート・アルゴリズムと、その計算量 (4) |
10 | サーチ・アルゴリズムと、その計算量 (1) |
11 | サーチ・アルゴリズムと、その計算量 (2) |
12 | 数値計算と、その計算量 (1) |
13 | 数値計算と、その計算量 (2) |
14 | 各種データ構造 (1) |
15 | 各種データ構造 (2) |
|
テキスト・参考書 |
テキスト: 新版 明解C言語 入門編,柴田望洋著,ソフトバンクパブリッシング このテキストは、情報免許科目『コンピュータと情報処理U』で使用したテキストと同じテキストである。 |
自学自習についての情報 |
授業で学習した、アルゴリズムやデータ構造を定着させるには、授業で課す小レポートや最終課題のレポートに真剣に取り組むことが不可欠である。自宅にあるパソコンで利用できる、フリーのC言語のコンパイラに関する情報は、授業中に提供するので、プログラミングの練習に活用して欲しい。 |
授業の形式 |
授業はすべて情報処理センターで行い、ある程度講義が進むたびに、演習を行う。 |
評価の方法(評価の配点比率と評価の要点) |
(1) 小レポート (40%) (2) 最終課題のレポート (60%) 1. (1) 小レポートとは、3 コマに 1 回のペースで、プログラムとその実行結果を提出するものである。 2.人のプログラムをコピーして提出したことが明らかになった場合は、レポート点は 0 点とする。 3.プログラミング技術は、一つずつ積み上げるようにして習得すべきものであるので、すべての授業に出席することが望ましい。やむを得ない事情で欠席した場合は、その欠席した授業で行われたことを自習しておくこと。 |
その他 |
本授業を履修する前に、情報免許科目『コンピュータと情報処理II』を履修しておくことが望ましい。履修していない受講生は、指定したテキストの 1 〜 9 章を事前に読んでおくこと。 |