当前位置: 首页 > news >正文

深入解析:大学院-筆記試験練習:线性代数和数据结构(8)

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

  • 1-前言
  • 2-线性代数-题目
  • 3-线性代数-参考答案
  • 4-数据结构-题目
  • 5-数据结构-参考答案
  • 一、【第 1 问】哈希法(翻译 + 解释)
    • 原题翻译
      • (1)
      • (2)
      • 接下来这段是**整题的核心**
    • 这一问到底在考什么?(非常重要)
      • 核心对比
    • 标准结论(直接给答案)
    • ✅ 第 1 问填空答案
  • 二、【第 2 问】C 语言 + 哈希表(翻译 + 解释)
    • 原题在说什么(翻译)
      • 输入格式
      • 输出要求
    • 这一问在考什么?
    • 正确思路(考试版)
      • 思路一句话
    • ✅ 标准答案(E 中应写的代码)
    • 时间复杂度
  • 三、整题一句话总结(非常重要)
      • 这道题在考:
  • 6-总结

1-前言

为了升到自己目标的大学院,所作的努力和学习,这里是线性代数和数据结构部分。

在这里插入图片描述

2-线性代数-题目

在这里插入图片描述

3-线性代数-参考答案

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4-数据结构-题目

在这里插入图片描述在这里插入图片描述在这里插入图片描述

5-数据结构-参考答案

一、【第 1 问】哈希法(翻译 + 解释)

在这里插入图片描述

原题翻译

(1)

“什么是哈希值的冲突?请简要说明。”

翻译:
不同的输入数据,通过哈希函数计算后,得到了相同的哈希值,这种情况称为哈希冲突


(2)

内部哈希法(开放地址法)中,考虑以下两种哈希函数序列((k=0,1,2,\dots)):

[
f_k(x) = (h_1(x) + k) \bmod M
]
[
g_k(x) = (h_1(x) + k h_2(x)) \bmod M
]

其中:

  • (M):足够大的素数
  • (a \bmod b):(a) 除以 (b) 的余数

[
h_1(x) = x \bmod M
]
[
h_2(x) = 1 + (x \bmod (M-1))
]


接下来这段是整题的核心

设 (N) 是远大于 (M) 的整数,从 (N) 未满的正整数中均匀随机选取 (x,y)。

要求:填空 A–D


这一问到底在考什么?(非常重要)

不是让你算复杂概率,而是在考你是否理解:

核心对比

方法本质
(f_k)线性探查(一步一步 +1)
(g_k)双重哈希(跳步长度与数据有关)

如果第一次冲突了:


标准结论(直接给答案)

  • 若 (f_0(x)=f_0(y)),那么
    [
    f_1(x)=f_1(y) \text{ 一定成立}
    ]
    所以
    [
    \boxed{p = 1}
    ]

  • 双重哈希中,
    [
    g_1(x)=g_1(y)
    ]
    不一定成立,概率更小


✅ 第 1 问填空答案

答案含义
A1线性探查下必然再次冲突
B大きいp 比 q 大
C(g_k(x))更优(双重哈希)
D(f_k(x))较差(线性探查)

整句话的含义是:

因为线性探查在发生一次冲突后,后续仍然高概率冲突,而双重哈希能有效分散冲突,所以在内部哈希法中,使用 (g_k(x)) 比使用 (f_k(x)) 期望冲突次数更少。


二、【第 2 问】C 语言 + 哈希表(翻译 + 解释)


原题在说什么(翻译)

给定程序 main.c(C99),
它使用 hash.h 中的函数来管理一个正整数集合

void initT();          // 初始化哈希表
void insertT(v);       // 插入 v,失败则结束程序
int searchT(v);        // 若存在返回 1,否则 0

并且:

  • insertTsearchT 的时间复杂度都是 O(1)

输入格式

  1. 输入两个整数 n, K
  2. 输入 n互不相同的正整数x1, x2, ..., xn

输出要求

输出满足:

[
1 \le i < j \le n,\quad x_i + x_j = K
]

组合对数 (m)。


这一问在考什么?

经典算法题:Two Sum(两数之和)

但重点不是算法竞赛,而是:

  • 是否想到用 哈希表
  • 是否能做到 O(n),而不是 (O(n^2))
  • 是否会避免重复计数

正确思路(考试版)

思路一句话

先把所有数放进哈希表,再对每个 (x_i),检查 (K-x_i) 是否存在。


✅ 标准答案(E 中应写的代码)

// 初始化哈希表
initT();
// 插入所有元素
for (long long int i = 0; i < n; i++) {
insertT(x[i]);
}
// 统计满足 xi + xj = K 的对数
for (long long int i = 0; i < n; i++) {
long long int y = K - x[i];
if (y <= 0) continue;        // 题目保证都是正整数
if (y == x[i]) continue;    // 排除 i = j
if (searchT(y)) {
m++;
}
}
// 每一对被数了两次
m /= 2;

时间复杂度

  • 插入:(O(n))
  • 查询:(O(n))
  • 总体:
    [
    \boxed{O(n)}
    ]

这正是题目要求的“尽量高效”


三、整题一句话总结(非常重要)

这道题在考:

你是否理解哈希,而不是只会写哈希

具体包括:

  • 什么是冲突
  • 为什么双重哈希更好
  • 如何把哈希用于实际算法
  • 如何用 C 写出工程级代码

6-总结

训练成长。!!

http://www.jsqmd.com/news/377564/

相关文章:

  • 2026年选哪个平台?项目管理平台推荐与排名,解决多项目统筹与成本痛点 - 十大品牌推荐
  • 瑞祥商联卡怎么提现到微信 - 团团收购物卡回收
  • 银发健康必看:中老年保健品品牌推荐及选购攻略(防坑榜) - 品牌排行榜
  • 广州高端猎头服务深度点评:为什么川普猎头是成就卓越企业的首选合作伙伴 - 品牌企业推荐师(官方)
  • 苹果充值卡如何变现?分享安全可靠的交易方式! - 团团收购物卡回收
  • 2026年深圳冠蓝狮手表维修推荐榜单评测:非官方维修网点服务与售后中心选择指南 - 十大品牌推荐
  • 智造驱动未来:展望2026年汽车电瓶设备的技术变革与市场图景 - 品牌2025
  • AI元人文:自感专论(拟合底稿与未来论证)
  • 2026年深圳管道疏通服务评测排名推荐:解决管道堵塞与维护难题的实用指南 - 十大品牌推荐
  • AtCoder Beginner Contest竞赛题解 | AtCoder Beginner Contest 425
  • Windows Server 2008R2/2012/2016 克隆修改SID
  • 数据科学与大数据技术毕业设计2026方向100例
  • 深圳研学基地推荐与选择指南(2026最新版)选对科创实践好去处 - 品牌2025
  • 2026 食品管理咨询公司前十强排行榜|专业赋能食品企业高质量发展 - 品牌企业推荐师(官方)
  • 中老年肌肉流失吃保健品哪个品牌好?口碑品牌盘点(必看) - 品牌排行榜
  • 2026 年 2 月 GEO 服务行业盘点:优质服务商甄选与长期合作建议 - 速递信息
  • 嵌入式安全和加密技术
  • 关节养护必看:吃什么牌子的保健品可以预防关节酸痛(口碑榜单) - 品牌排行榜
  • Flutter-OH标准化适配流程
  • 智推时代GEO优化服务:官方认证合作通道全整理 - 速递信息
  • 吐血推荐!8个降AI率平台深度测评,专科生必看的降AI率神器
  • 适合老年人吃的营养品品牌有哪些?口碑品牌盘点(选购必看) - 品牌排行榜
  • 矿物质防火电缆直销精选集,2026年好评厂家,YLV高压电力电缆/铝合金电缆,矿物质防火电缆厂商联系方式 - 品牌推荐师
  • 探寻2026船用安全阀优质之选:口碑公司大盘点,船用附件/船舶配件/船用防浪阀/船用舷侧阀,船用安全阀产品推荐排行 - 品牌推荐师
  • 健身营养攻略:蛋白粉买哪个品牌比较正宗(2026口碑榜) - 品牌排行榜
  • GEO 优化服务实力排行 2026:行业标杆企业技术与服务全解析 - 速递信息
  • 2026智能咖啡机品牌推荐 靠谱厂家及口碑品牌推荐 - 品牌2025
  • 别再瞎找了!AI论文网站 千笔AI VS 笔捷Ai,专为本科生量身打造!
  • Python 中的 sqlite3 模块:轻量级数据库的完美搭档 - 教程
  • 基于C#实现视频文件解封装与媒体流读取方案