アルゴリズム A


[授業内容]

「アルゴリズム」の意味
アルゴリズム = ある問題をコンピュータを用いて効率良く解くうまいやり方、手順。

プログラミングでよく使用される基本的な「アルゴリズム」と「データ構造」 について学習します。 適切なアルゴリズムとデータ構造を用いて、効率のよいプログラムを 作成できるようになることが目標です。

まず、アルゴリズムの性能の基準となる計算量という概念について理解し、 次に、基本的なデータ構造について学習します。 基本的なデータ構造としては、配列、スタック、連結リスト、木構造 などがあります。 その後、探索に関する代表的なアルゴリズムをいくつか学習します。

前期の「アルゴリズムA」の後を受けて、後期の「アルゴリズムB」では、 整列、バックトラック、動的計画法などの高度なアルゴリズムを学ぶ ことになります。

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


文字コードに関する注意

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

津田塾大学のWindows環境で作ったソースファイルをMac上でコンパイルするときは

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


出席状況:

課題提出状況

課題提出Web

一覧
課題提出に関するメモ

[授業日程]


教科書

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

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

プリントの一部は http://nw.tsuda.ac.jp/class/algoA/ から参照できます。 が、ネットで参照できるのはあくまでも一部ですので、 授業でのみ配布されるプリントを必ず受け取って下さい。

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