【大学院-筆記試験練習:线性代数和数据结构(6)】

大学院-筆記試験練習:线性代数和数据结构(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-总结

训练成长。!!

相关推荐
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码4 天前
嵌入式学习路线
学习
毛小茛4 天前
计算机系统概论——校验码
学习
babe小鑫4 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。5 天前
2026.2.25监控学习
学习
im_AMBER5 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J5 天前
从“Hello World“ 开始 C++
c语言·c++·学习