この授業の情報は、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」や「アルゴリズムb」に続いて、さらに発展した 「アルゴリズム」と「データ構造」について学習します。
探索やグラフに関する代表的なアルゴリズムを学びます。 バックトラックや動的計画法などについても解説します。
単なる理論的な説明だけで終わるのではなく、できるだけ 実装例(Java 言語で書いたプログラム例)を示す予定です。
演習で利用する java 言語処理系は OpenJDK http://jdk.java.net/バージョン11以上を想定しています。
[注意] CPU が Apple M1 (Arm64) の Mac を使っている方は、native対応している Java 処理系を使う方がよいでしょう。
本家 OpenJDK も
Azul Zulu
(= OpenJDK を Azul がビルドしたバイナリ) も
Java 17 (LTS) で Apple M1 (Arm64) Macに対応しています。
それぞれのインストール方法は、以下を参照してください
演習では、shellのリダイレクト機能を用いてプログラムにデータを与えることがあります。 Macの場合は標準のshellにその機能がありますが、 Windows の場合は無いので、 cygwin をインストールすることをお勧めします。 cygwinのインストール方法は「 cygwinをゼロからインストールする(ネットワークを便利に使う最小限のパッケージと共に) 」を参考にして下さい。
[注意] 課題提出Web へのアクセスは、 Google Drive の passwd.txt に[Web用]として書かれているパスワードを使って下さい。 大学にVPNを張るのはできるだけ避けて下さい。
次のURLにある情報も参照して下さい。
http://ynitta.com/class/algoC/