大学院-筆記試験練習:线性代数和数据结构(6)
1-前言
为了升到自己目标的大学院,所作的努力和学习,这里是线性代数和数据结构部分。

2-线性代数-题目

3-线性代数-参考答案




4-数据结构-题目
問1(データ構造:連結リスト・操作と計算量)【相似題①】
要素数 (n) の単方向連結リストを考える。
各ノードは (val, next) を持つものとする。
以下の 実装方法 A・B が与えられている。
-
実装方法 A :
先頭要素のアドレスのみを
headが保持する。 -
実装方法 B :
先頭要素のアドレスを
head,末尾要素のアドレスをtailが保持する。
次の問いに答えよ。
(1)
実装方法 B において,
「末尾に新しい要素を追加し,先頭の要素を削除する」操作を繰り返すとき,
このデータ構造として適切な名称を 1 つ述べよ。
(2)
実装方法 A と実装方法 B について,
末尾要素の値を参照する操作 の最悪時間計算量を,
要素数 (n) を用いて オーダー記法でそれぞれ答えよ。
(3)
実装方法 A において,
先頭から (k) 番目の要素を削除する場合の最悪時間計算量を,
(n) と (k) を用いて答えよ。
※「参照できるポインタはどこか」を正確に意識すること。
問2(データ構造:ソートアルゴリズムの性質)【相似題②】
要素数 (n) の配列に対するソートアルゴリズムについて考える。
以下の条件を すべて満たす ソートアルゴリズムの名称を
該当するものをすべて 答えよ。
(1)
- 最悪時間計算量が (O(n^2))
- 安定である
(2)
- 最悪時間計算量が (O(n \log n))
- 安定である
(3)
- 平均時間計算量が (O(n \log n))
- 不安定である
なお,安定 とは,
同じ値を持つ要素の相対的な順序がソート前後で保存されることを意味する。
問3(予測出題:ハッシュ法+衝突と探索)【予測題】
ハッシュ法を用いてデータ探索を行う。
データ集合
S = {18,\\ 7,\\ 14,\\ 3,\\ 11,\\ 22,\\ 6}
をこの順に挿入する。
ハッシュ関数を
h(x) = x \\bmod 5
とし,オープンアドレス法(線形探索) によって衝突を解決するものとする。
(1)
最初に衝突が発生する要素の値を答えよ。
(2)
すべての要素を挿入した後のハッシュ表の内容を,
添字 0 から順に 示せ。
(3)
この方法において,
探索が成功する場合の 最悪時間計算量 を
要素数 (n) を用いてオーダー記法で答えよ。
※「衝突が起きない場合」と混同しないこと。
5-数据结构-参考答案
問1(データ構造:連結リスト)
問1(1)
你的答案:
キュー
✅ 正确,满分
理由(视角):
- 「末尾に追加」+「先頭から削除」
- 明确符合 FIFO
- 不需要多写解释,本番写「キュー」即可
問1(2)
题目要求:
末尾要素の値を参照する操作の最悪時間計算量
実装方法A / 実装方法B
你的答案:
O(n),O(1)
✅ 完全正确,满分
评分点:
| 実装 | 判定 |
|---|---|
| A(headのみ) | 末尾まで走査 → O(n) |
| B(head + tail) | tail 直参照 → O(1) |
👉 这是必考送分题,你稳拿。
問1(3)
题目:
先頭から k 番目の要素を削除する最悪時間計算量
你的答案:
O(n)
⚠️ 结论正确,但表达不够严谨(本番小风险)
为什么?
严格说:
- 必须先走到 第 k−1 个节点
- 时间是 O(k)
- 但因为 最悪情况 k = n
→ O(n)
✅ 本番推荐标准写法(稳妥):
最悪時間計算量は O(n)
如果你写成:
O(k)
⚠️ 会被要求「最悪」时扣分
問2(ソートアルゴリズム)
問2(1)
条件:
- 最悪 O(n²)
- 安定
你的答案:
バブルソート,挿入ソート
✅ 完全正确,满分
| アルゴリズム | 最悪 | 安定 |
|---|---|---|
| バブル | O(n²) | ○ |
| 挿入 | O(n²) | ○ |
問2(2)
条件:
- 最悪 O(n log n)
- 安定
你的答案:
マージソート
✅ 正确,满分
⚠️ 注意:
- ヒープソート ❌(不安定)
- クイックソート ❌(不安定・最悪 O(n²))
問2(3)
条件:
- 平均 O(n log n)
- 不安定
你的答案:
ヒープソート
⚠️ 这是本套里唯一有争议的地方
标准答案是:
✅ クイックソート
| アルゴリズム | 平均 | 安定性 |
|---|---|---|
| クイックソート | O(n log n) | × |
| ヒープソート | O(n log n) | × |
👉 但:
- ヒープソート的「平均」=「最悪」
- 出题意图更偏向 「平均は速いが不安定」→ クイック
📌 常见判定:
- 写「ヒープソート」→ 可能给 0.5 分或直接扣分
✅ 本番建议只写:
クイックソート
問3(ハッシュ法・予測题)
問3(1)
你逐个算:
- h(18)=3
- h(7)=2
- h(14)=4
- h(3)=3 → 第一次冲突
你的结论:
最初に衝突が発生する要素の値は 3
✅ 完全正确,满分
問3(2)
你画的表结构:
- 使用 線形探索
- 放置顺序与冲突处理逻辑正确
⚠️ 小问题:
题目是 オープンアドレス法 ,
你画得 有一点像链地址法(右侧箭头)。
本番建议:
- 画一排数组
- 不画「→」
但逻辑上你理解是对的,思路不扣分。
問3(3)
题目:
探索成功时的最悪時間計算量
你的答案:
O(n)
✅ 正确,满分
理由:
- 线性探测
- 最坏情况下遍历整个表
→ O(n)
6-总结
训练成长。!!