後期試験 ・ 2009 年 1 月 22 日 1 時限実施 ・ ページ
授業 科目 |
データ構造とアルゴリズム | 学生番号 | 学科 | 学年 | 組 | 番 | フリ ガナ |
評点 | ||||||||
氏名 | ||||||||||||||||
担当者 | DÜRST, Martin J. |
スタックという抽象データ型には new, empty?, size, push, pop と top の操作がある。 その操作の間の、スタックを公理的に定義する六つの公理を書いて、簡単に説明しなさい。
トップダウン 2-3-4 木を作成しなさい。入力項目を一つ一つ挿入するごとにその途中経過を書きなさい。 入力項目とその順番: A, O, Y, M, G, K.
次の英語の用語に相当する日本語の用語を書いて、簡単に説明しなさい。日本語の用語ではカタカナをできるだけ避けなさい。
後期試験 ・ 2010 年 1 月 22 日 1 時限実施 ・ ページ
ニ分探索のアルゴリズムを疑似コードで書きなさい。
algorithm binary_search input: array a[] of length l (a[0]...a[l-1]), key k output: index of key in a, or not_found if not found low ← 0 high ← l repeat while low < heigh middle ← (low+heigh)/2 if a[middle] = k return middle else if a[middle] < k low ← middle else high ← middle end end return not_found end
ヒープの普遍条件を列挙しなさい。
ヒープの普遍条件を修復するアルゴリズムは条件によって二つある。そのうちの一つを選んで説明しなさい。
現所と親を比べて順番が合わない場合に使う heapify_up では現所と親を入れ替え、親を現所にし、新現所と親を比べて順番が合うまで繰り返す。
授業で説明した四つの文字列照合アルゴリズムを計算量を中心に比較しなさい。
文字列照合アルゴリズムの計算量は文書の長さ n と探しているパターンの長さ m に関係する。m より n がはるかに大きい想定で説明する。
後期試験 ・ 2010 年 1 月 22 日 1 時限実施 ・ ページ
授業 科目 |
データ構造とアルゴリズム | 学生番号 | 学科 | 学年 | 組 | 番 | フリ ガナ |
評点 | ||||||||
氏名 | ||||||||||||||||
担当者 | DÜRST, Martin J. |
下記の三つの事情に合わせて、辞書 (抽象データ構造) のためのデータ構造を実装するように頼まれた。 データ構造を選んで、そのデータ構造の名前、仕組み、選んだ理由と実装の場合特に注意すべき点を記述しなさい。
次の計算量を小さい順に並びなおしなさい。「<」または「=」で小さい場合と同等な場合を区別しなさい。
(例: O(1)=O(2)<O(nn)。)
O(n log n),
O(1010),
O(2n),
O(n!),
O(n),
O(log2 n),
O(nn),
O(logn n),
O(log7 n),
O(n2),
O(n0.1),
O(n log log n),
O(n0.5),
O(1010n),
O(n3)
O(1010) = O(logn n) < O(log2 n) = O(log7 n) < O(n0.1) < O(n0.5) < O(n) = O(1010n) < O(n log log n) < O(n log n) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)
後期試験 ・ 2010 年 1 月 22 日 1 時限実施 ・ ページ
挿入整列法と選択整列法は似たような点が多いが違う。 元のデータがばらばらであったという前提のもとで、整列全体にかかる時間のちょうど半分の時点を考える。 その時点でそれぞれのアルゴリズムについて、データ全体のどのぐらいの部分がどのように整列されているかとその理由を文章と図両方を使って説明しなさい。
挿入整列法: 整列されてない部分から項目を選んで、整列された部分に挿入するので、 整列された部分が大きくなるにつれ作業が遅くなる。したがって半分の時間ではデータの 1/√2 分までに既に整列されているが、 その整列は完璧なものではなく、そこにまだ整列されてない項目が更に導入される可能性もある。
[図欠落]
選択整列法: 整列されてない部分から一番小さいものを選ぶ。その部分はどんどん小さくなるので、 最初はあまり進まない。半分の時間ではデータの 1-1/√2 分のところまでしか進まない。しかしその部分が完全し整列され、 残りのものは全てそれより大きいものばかりしか残ってない。
[図欠落]
NP 完全問題は全てお互いに帰着できる。次の 3-SAT 問題を独立集合問題に帰着しなさい。
(¬x ∨ ¬y ∨ z) ∧ (x ∨ ¬y ∨ ¬z) ∧ (¬x ∨ y ∨ z)
3-SAT 問題の難しさについて三つの場合に分けて簡単に説明しなさい。