アルゴリズム b


[UP]

Notice for the remote access.

お知らせ

この授業の情報は、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用] ユーザ名 と パスワード を利用して下さい。


algorithm b

[授業内容]

「アルゴリズムa」に続いて、さらに発展した 「アルゴリズム」と「データ構造」について学習します。

「アルゴリズムb」では、「整列(ソート, sort)」に関する代表的なアルゴリズムを学びます。

単なる理論的な説明だけで終わるのではなく、できるだけ 実装例(Java 言語で書いたプログラム例)を示す予定です。


[授業日程]

講義: 火曜3限 @対面授業
演習: 火曜4限 @対面授業

教科書


「定本 java プログラマのためのアルゴリズムとデータ構造」
近藤嘉雪 著、ソフトバンクパブリッシング、2835円、
ISBN10: 4-7973-6243-X
ISBN13: 978-4797362435
amazon

次のURLにある情報も参照して下さい。

http://nw.tsuda.ac.jp/class/algoB/

授業を欠席した場合は、次の授業までに当該分野の本を自分で読破し、 授業内容と同等の知識を独力で身に付けておくことが必要です。


出席状況:

課題提出状況


資料


[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に対応しています。

それぞれのインストール方法は、以下を参照してください

[cygwin について]

演習では、shellのリダイレクト機能を用いてプログラムにデータを与えることがあります。 Macの場合は標準のshellにその機能がありますが、 Windows の場合は無いので、 cygwin をインストールすることをお勧めします。 cygwinのインストール方法は「 cygwinをゼロからインストールする(ネットワークを便利に使う最小限のパッケージと共に) 」を参考にして下さい。

[文字コードに関する注意]

Javaのコンパイル環境と異なるエンコーディングの ソースファイルをコンパイルするには javac コマンドの オプションとして -encoding を指定する必要があります。

  javac -encoding  エンコーディング名  javaファイル名
日本語環境でよく使われるエンコーディング名は以下の通りです。
エンコーディング名説明
utf-88bit Unicode Transformation Format
euc-jpEUC日本語
iso-2022-jpISO 2022形式のJIS X 0201, 0208
shift_jisシフトJIS(MS漢字コード)
windows-31j日本語Windows

システムの標準ではないエンコーディングのjavaプログラムをコンパイルするとき encoding を指定する必要があります。 津田塾大学計算センターのWindows環境で作ったソースファイルをMac上でコンパイルするときは

  % javac -encoding shift_jis  ファイル名.java
津田塾大学計算センターのMac環境で作ったソースファイルをWindows上でコンパイルするときは
  % javac -encoding utf-8  ファイル名.java
と指定して下さい。