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

训练成长。!!

相关推荐
星火开发设计2 小时前
C++ multimap 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识
●VON2 小时前
使用 OpenAgents 搭建基于智谱 GLM 的本地智能体(Agent)
学习·安全·制造·智能体·von
丝斯20112 小时前
AI学习笔记整理(45)——大模型数据读取技术与模型部署
人工智能·笔记·学习
mpHH2 小时前
postgresql 执行器中readme的翻译
数据库·学习·postgresql
风送雨2 小时前
FastAPI 学习教程 · 第2部分
学习·fastapi
石像鬼₧魂石2 小时前
3306 端口(MySQL 数据库)渗透测试全流程学习总结
数据库·学习·mysql
Main. 242 小时前
从0到1学习Qt -- Qt3D入门
开发语言·qt·学习
weixin_462446232 小时前
Python+React 专为儿童打造的汉字学习平台:从学前到小学的智能汉字教育解决方案
python·学习·react.js
星火开发设计2 小时前
C++ deque 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识