アルゴリズム a


お知らせ(2018/10/18 17:36)

「自宅から大学にVPN接続できない」という理由を書いて, メールで課題を私に送り付ける学生がおられますが、止めて下さい。
「大学から提出する」または「VPN接続ができるようにする」など個人でとれる対策を取り、 本来の手順で提出して下さい。
今後提出期限内にメールで私宛に送りつけられた課題は、 (大災害や大学側の機器の故障の場合を除き) 「提出としてカウントされない」か「大幅な減点」となります


お知らせ(2018/10/18 21:43)

Macで大学のVPNにアクセスできなくなった人は、次の案内を参考にして下さい。 EdgeClientを利用すれば大学にVPN接続できるようになります。
http://info.tsuda.ac.jp/center/FAQ/ssl-vpn/MacSSL-VPN.pdf

上記URLは学外からアクセスできませんので、コピーを http://nw.tsuda.ac.jp/lec/vpn/MacSSL-VPN.pdfに置きました。

Safiri 12から、NPAPI Plug-inで許可するものがFlashのみになったためです。
https://developer.apple.com/safari/whats-new/
https://discussionsjapan.apple.com/thread/110208382


お知らせ(2018/10/19 11:30)

Windows 10 で大学のVPNにアクセスする方法は次のURLを参考にして下さい。

http://nw.tsuda.ac.jp/lec/vpn/

[授業内容]

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

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

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

「アルゴリズム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/ から参照できます。 が、ネットで参照できるのはあくまでも一部ですので、 授業でのみ配布されるプリントを必ず受け取って下さい。

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