データ構造とアルゴリズム

第一回 (2011年9月30日)

アルゴリズムとデータ構造の概要と応用

http://www.sw.it.aoyama.ac.jp/2011/DA/lecture1.html

Martin J. Dürst

duerst@it.aoyama.ac.jp

O 棟 529号室

テュールスト マーティン ヤコブ

AGU

© 2008-11 Martin J. Dürst 青山学院大学

目次

自己紹介

授業の位置づけ

授業の進め方

成績評価方法

おおよその割合:

総合的な評価

アルゴリズムとデータ構造の魅力

授業の目的

を身につけること

データ構造の例: 連結リスト

(英語: linked list)

データ構造の概要

(英語: data structure)

二つの視点:

アルゴリズムの例: 辞典の探索

問題: 辞典や辞書で単語を探す

アルゴリズムの概要

(英語: algorithm)

要件:

  1. 明確な目的、結果 (問題を解く)
  2. 正確な仕様や定義 (プログラムか似たもの)
  3. 有限なステップ数で終了

アルゴリズムの歴史

データ構造とアルゴリズムの関係

授業の日程

データ構造とアルゴリズムの日程

参考書

宿題 1: 膨大なデータ

提出: 来週の木曜日 (10月6日) 19時00分締切; O 棟 529号室の前の箱に提出; A4 一枚 (両面可) 厳守

(それぞれの問題で、想定の根拠となる理由、アンコウにした文献など必ず明記のこと)

  1. 東京証券取引所の第一部の取引で、一株式会社の株が営業時間内に平均で 1分に一回売買されている想定のもと、合計で年間に何項目ぐらいのデータが集まるかを、計算しなさい。
  2. Google (又は明記の上で他のサーチエンジン) が対応しているウェブページの数と平均のページあたりのリンク数を調べ、おおよその合計のリンク数を計算しなさい。
  3. 問題 1 や 2 の結果よりも大きくて実際に計算機で扱えそうなデータ項目の量を考え、説明しなさい (他人と同じものの場合には減点の対象)。

宿題 2: アルゴリズムの表現方法

別紙「アルゴリズムの表現方法」のアルゴリズムの表現方法をよく見て、それぞれの方法の利点と欠点を考えなさい。

(提出不要)

宿題 3: Ruby のインストール

自分のノートパソコン (又は自宅のパソコン) に Ruby をインストール

インストール方法は主に二つ:

確認方法: mintty、PuTTY 又は Start Command Prompt with Ruby にて ruby -v を実行

インストールできない場合、次回授業の前日までに要相談

次回への準備