大学院-筆記試験練習:线性代数和数据结构(23)
- 1-前言
- 2-线性代数-题目
- 3-线性代数-参考答案
- 4-数据结构-题目
- 【予測問題①】連結リストと操作の本質(高確率)
- 【予測問題②】ソートアルゴリズムの"逆向き"判定(高频)
- 【予測問題③】探索アルゴリズムと表現法(高概率)
- 【予測問題④】ハッシュ法と最悪ケース(杀分题)
- 5-数据结构-参考答案
- 【予測問題①】連結リストと操作の本質【解答】
- 【予測問題②】ソートアルゴリズムの逆向き判定【解答】
- 【予測問題③】探索アルゴリズムと表現法【解答】
- 【予測問題④】ハッシュ法と最悪ケース【解答】
- 6-总结
1-前言
为了升到自己目标的大学院,所作的努力和学习,这里是线性代数和数据结构部分。

2-线性代数-题目

3-线性代数-参考答案



4-数据结构-题目
【予測問題①】連結リストと操作の本質(高確率)
n 個の整数 (x_1, x_2, \dots, x_n) からなる連結リストを考える。
この連結リストは,先頭要素への参照のみを保持している。
以下の問いに答えよ。
(1)
この連結リストに対して,
「先頭に要素を追加し,先頭の要素を削除する」
という操作を繰り返すとき,
この操作の振る舞いと等価なデータ構造の名称を答えよ。
(2)
上記の操作を,
要素数 n に対して最悪時間計算量が (O(1)) となるように実現できるか。
可能であればその理由を,
不可能であればその理由を簡潔に述べよ。
(3)
同じ操作を
「末尾に要素を追加し,先頭の要素を削除する」
に変更した場合,
最悪時間計算量が変化するかどうかを答えよ。
-
「名前」不是重点
-
是否 O(1) 才是给分点
【予測問題②】ソートアルゴリズムの"逆向き"判定(高频)
あるソートアルゴリズム A は,
次の性質をすべて満たす。
- 平均時間計算量は (O(n \log n))
- 最悪時間計算量は (O(n^2))
- 安定ではない
以下の問いに答えよ。
(1)
このアルゴリズム A の名称を 1 つ答えよ。
(2)
アルゴリズム A において,
最悪時間計算量が (O(n^2)) となる入力の特徴を簡潔に述べよ。
(3)
アルゴリズム A を安定にすることが一般に困難である理由を述べよ。
- (1) だけ合っても半分
- (2)(3) 是理解分
【予測問題③】探索アルゴリズムと表現法(高概率)
連結な無向グラフ (G = (V, E)) に対して探索を行う。
以下の問いに答えよ。
(1)
グラフを隣接行列で表現した場合,
深さ優先探索(DFS)を行うときの
最悪時間計算量を (|V| = n, |E| = m) を用いて答えよ。
(2)
同じ探索を隣接リストで表現した場合の
最悪時間計算量を答えよ。
(3)
隣接行列と隣接リストのどちらが
疎なグラフに適しているかを理由とともに述べよ。
- DFS の時間計算量 ≠ BFS と混同しやすい
- 行列は n² が本体
【予測問題④】ハッシュ法と最悪ケース(杀分题)
要素数 n のデータに対して,
ハッシュ関数 (h(x)) を用いて探索を行う。
以下の問いに答えよ。
(1)
ハッシュ法において,
すべての要素が同じハッシュ値に写像される場合 の
探索の最悪時間計算量を答えよ。
(2)
上記の最悪ケースが発生する原因を
ハッシュ関数の性質の観点から簡潔に述べよ。
(3)
この最悪ケースを軽減するための方法を 1 つ挙げよ。
5-数据结构-参考答案
【予測問題①】連結リストと操作の本質【解答】
(1)
「先頭に追加し,先頭から削除」を繰り返す振る舞いは スタック に等価である。
(push:先頭追加,pop:先頭削除)
(2)
可能である。
先頭への挿入および先頭の削除はいずれも参照(先頭ポインタ)の付け替えのみで実現でき,
要素数 (n) に依存しないため最悪時間計算量は (O(1)) となる。
(3)
変化する。
「末尾に追加し,先頭から削除」とした場合,末尾参照を保持しない実装では末尾への到達に走査が必要となる。
したがって末尾への追加は最悪 (O(n)) となり,全体として最悪計算量は増加する。
(※末尾参照(rear)を保持する場合は末尾追加も (O(1)) で実現可能。)
【予測問題②】ソートアルゴリズムの逆向き判定【解答】
(1)
条件(平均 (O(n\log n)),最悪 (O(n^2)),不安定)を満たす代表例は クイックソート である。
(2)
分割が極端に偏る入力(例:ピボットの選び方に対して既に整列済み・逆順など)では,
部分配列のサイズが (n-1) と 0 に近い分割が繰り返され,
比較回数が二乗オーダーとなるため最悪 (O(n^2)) となる。
(3)
クイックソートは分割(partition)過程で要素の交換が発生し,
同じ値をもつ要素の相対順序が保持されない可能性がある。
したがって一般には安定化のために追加の工夫(補助配列等)が必要となり,
そのままでは安定になりにくい。
【予測問題③】探索アルゴリズムと表現法【解答】
(1)
隣接行列では,各頂点について隣接の確認に行(列)全体の走査が必要となるため,
DFS の最悪時間計算量は
O(n\^2)
である。
(2)
隣接リストでは,各頂点と各辺を高々 1 回ずつ処理するため,
DFS の最悪時間計算量は
O(n+m)
である。
(3)
疎なグラフには隣接リストが適している。
疎なグラフでは (m \ll n^2) であり,隣接リストは空間 (O(n+m)) で表現でき,
探索も (O(n+m)) で行える。一方,隣接行列は空間が常に (O(n^2)) 必要となる。
【予測問題④】ハッシュ法と最悪ケース【解答】
(1)
すべての要素が同一のハッシュ値に写像される場合,
探索は線形探索と同等となり最悪時間計算量は
O(n)
である。
(2)
ハッシュ関数が一様性を満たさず,写像が偏る(分布が悪い)ために衝突が集中し,
同一バケット(または同一探索列)に要素が偏在することが原因である。
(3)
衝突を軽減する方法として,例えば以下が挙げられる。
- 一様性の高いハッシュ関数を用いる
- テーブルサイズを適切に取り,負荷率を低く保つ(再ハッシュを行う)
- 連鎖法や二重ハッシュ法など,衝突解決法を適切に選択する
(いずれか 1 つで可)
6-总结
训练成长。!!