この授業の情報は、Web サイト ( http://ynitta.com/class/ ) と GoogleDrive に置きます。
GoogleDrive には @gm.tsuda.ac.jp のアカウントでアクセスして下さい。 当初は@gm.tsuda.ac.jp全員がアクセス可能ですが、ある時点で履修登録者のみに制限します。
pdf形式の資料を配布する際は GoogleDrive 中の pdf/ フォルダに置きます。 また、授業中に書き込みを行ったpdf形式のテキストなど、追加の資料は GoogleDrive のhandwritings/ フォルダに置くことがあります。
Web サイト http://ynitta.com/class/ 上の「課題提出Web」などの学内専用ページに学外からアクセスする場合は、 GoogleDrive の passwd.txt に記載されている [Web用] ユーザ名 と パスワード を利用して下さい。
| 「アルゴリズム」の意味 |
アルゴリズム = ある問題をコンピュータを用いて効率良く解くうまいやり方、手順。 |
プログラミングでよく使用される基本的な「アルゴリズム」と「データ構造」 について学習します。 適切なアルゴリズムとデータ構造を用いて、効率のよいプログラムを 作成できるようになることが目標です。
「アルゴリズムa」では、 まず、アルゴリズムの性能の基準となる計算量という概念について理解し、 次に、基本的なデータ構造について学習します。 基本的なデータ構造としては、配列、スタック、連結リスト、木構造 などがあります。 その後、探索に関する代表的なアルゴリズムをいくつか学習します。
「アルゴリズムa」の学習後、「アルゴリズムb」や「アルゴリズムc」で、 整列、バックトラック、動的計画法などの高度なアルゴリズムを学びます。
単なる理論的な説明だけで終わるのではなく、できるだけ 実装例(Java 言語で書いたプログラム例)を示す予定です。
エディタは何をどのように使っても構いません。
ただしVSCode を使用される場合に、package を使用しない Java ファイルを新規に作成するときは次の手順で行うことを(本授業では)強く勧めます。
File → Open Folder ... → 書類 → class → algoA を選択する。


講義: 5206 演習: S205ws
![]() |
「javaプログラマのためのアルゴリズムとデータ構造」 近藤嘉雪 著、ソフトバンクパブリッシング、2835円、 ISBN10: 4-7973-6243-X ISBN13: 978-4797362435 |
次のURLにある情報も参照して下さい。
http://ynitta.com/class/algoA/