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

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

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(ソートアルゴリズムの性質)【相似題②】

(1)

最悪時間計算量が (O(n^2)) であり,安定である。

(2)

最悪時間計算量が (O(n \log n)) であり,安定である。

(3)

平均時間計算量が (O(n \log n)) であり,不安定である。

※ 安定とは,等しい値を持つ要素の相対的な順序が

 ソート前後で保存されることをいう。


問3(予測出題:ハッシュ法)【予測題】

データ集合

S = {12,\\ 7,\\ 18,\\ 3,\\ 14,\\ 9,\\ 21}

をこの順に挿入する。

ハッシュ関数を

h(x) = x \\bmod 5

とし,衝突解決法として線形探索法(オープンアドレス法) を用いる。

(1)

最初に衝突が発生する要素の値を答えよ。

(2)

すべての要素を挿入した後のハッシュ表の内容を,
添字 0 から順に 示せ。

(3)

この探索方法における,

探索成功時の最悪時間計算量を

要素数 (n) を用いてオーダー記法で答えよ。


5-数据结构-参考答案

問1 【満点】

(1)

キュー(FIFO)

✅ 完全正确

  • 「末尾追加+先頭削除」= Queue
  • FIFO 写不写都不影响得分

(2)

実装A:O(n)

実装B:O(1)

✅ 完全正确

  • A:只有 head → 需要遍历
  • B:有 tail → 直接参照

(3)

O(n)

✅ 完全正确

  • 删除第 k 个元素
  • 需要从 head 找到第 k−1 个节点
  • 最坏情况 k≈n

👉 問1 满点


問2 【满点】

(1)

バブルソート,挿入ソート

✅ 正确

  • O(n²)
  • 稳定
  • ✔ 选择排序被你划掉是对的(不稳定)

(2)

マージソート

✅ 正确

  • O(n log n)
  • 稳定

(3)

ヒープソート

✅ 正确

  • 平均 O(n log n)
  • 不稳定

👉 問2 满点


問3 ⚠️【立命馆会扣分的地方在这里】⚠️


(1) 最初に衝突が起きる要素

你的答案:

h(12)=2

h(7)=2

よって 7

✅ 结论是正确的

❌ 但理由写法不严谨

立命馆标准要求的是:

「先に格納されている要素と同じハッシュ値を持つ最初の要素」

你没有明确写"插入顺序"导致冲突 ,
严格来说是:

  • 12 先入 → 占用 index 2
  • 7 后入 → index 2 冲突

📌 本番会小扣 1〜2 分


(2) ハッシュ表の内容 ❌【这里是主要失分点】

❌ 根本性错误

你画的是:

👉 链地址法(連結リスト法 / chaining)

但题目是:

線形探索法(オープンアドレス法)


❗ 立命馆这里是「理解检查点」

方法 是否允许链表
オープンアドレス法 ❌ 不允许
連結法 ✅ 允许

👉 你的画法 = 方法错误


正确答案应该是(线性探索):

插入顺序:

元素 h(x) 实际位置
12 2 2
7 2 3
18 3 4
3 3 0
14 4 1
9 4 ❌ 表满前继续
21 1 ❌

👉 标准写法(例):

复制代码
index: 0  1  2  3  4
value: 3 14 12  7 18

📌 这里立命馆会扣 5〜8 分


(3) 最悪時間計算量

你的答案:

O(n)

✅ 正确

  • 线性探索
  • 最坏全部探查

最终评分预测(按立命馆)

问题 结果
問1 ◎
問2 ◎
問3(1) ○(轻微减点)
問3(2) ❌(方法错误)
問3(3) ◎

👉 整体:合格线以上,但不是安全满分


给你一句「立命馆必背」

「オープンアドレス法では,
1 つの添字には 1 要素のみ格納される。」

这一句写在脑子里 ,

以后 哈希题 0 失误。


6-总结

训练成长。!!

相关推荐
布莱克6058 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
D e re k ZH10 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
zh_xuan16 小时前
LeeCode 496. 下一个更大元素I
数据结构·算法·栈·单调栈
白杨尚青20 小时前
C++进阶篇(五):红黑树——四条规则、三种插入情况与旋转变色
开发语言·数据结构·c++·stl·红黑树·平衡二叉树
likexuec2 天前
数据结构(2)
数据结构
D e re k ZH2 天前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶2 天前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
十二2 天前
【洛谷题解】P1083 [NOIP 2012 提高组] 借教室(二分答案 + 差分)
数据结构·c++·算法·蓝桥杯
D e re k ZH3 天前
C++ 从零入门(一):基础语法与程序结构
数据结构·c++·算法
careathers3 天前
【数据结构】基于比较的排序算法 - 交换排序
数据结构·算法·排序算法