アルゴリズム a


[授業内容]

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

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

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

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

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


出席状況:


課題提出状況


[授業日程]

  • 09.06 --- 授業説明, アルゴリズムとは、計算量(線形探索を例として), 計算量(二分探索を例として)
  • 09.13 --- 配列
  • 09.20 --- スタック
  • 09.27 --- キュー
  • 10.04 --- 連結リスト, イテレータ
  • 10.11 --- 循環リスト, 双方向リスト
  • 10.18 --- 津田塾祭のため授業なし
  • 10.25 --- 木構造, 探索(二分探索木), 探索(平衡木), 平衡木資料
  • 11.01 --- 探索(ハッシュ法)
  • 11.08 --- 筆記試験

  • 教科書

    講義(木2限): 5号館2階 5206
    演習(木3限): 南校舎2階 S205ws
    
    「javaプログラマのためのアルゴリズムとデータ構造」
    近藤嘉雪 著、ソフトバンクパブリッシング、2835円、
    ISBN10: 4-7973-6243-X
    ISBN13: 978-4797362435
    

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

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

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