news 2026/5/10 0:21:38

HNU 算法设计与分析2018年期末考试原题(附自己写的解析)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HNU 算法设计与分析2018年期末考试原题(附自己写的解析)

前言

感谢@甘晴void大佬的分享,找到了这套卷子。

这套卷子因为考前时间有限,有些题没来得及做,但是看了一下,试卷题型已经较为贴近当前题型(除了多了选择题和论述题),而且题目质量中规中矩,因此对于没做的题,贴上笔者检查过的AI解析。

一、单项选择题

题干

解析

1. 答案:A
解析:Strassen 矩阵乘法通过把矩阵分成子块、递归计算(分治)将 8 次乘法减少为 7 次实现加速。

2. 答案:C

3. 答案:D

4. 答案:B
解析:分数背包的贪心算法需先按价值密度排序,排序时间主导为 O(nlogn)。

5. 答案:B
解析:

在回溯法中,采用深度优先搜索,活结点可能被多次回溯访问,但每次回溯时该结点仍然是活结点,因此一个结点在成为活结点后可能持续作为活结点存在,直到其所有分支被探索完毕。

而在分支限界法中,活结点通常存储在队列或优先队列中,一旦一个活结点被扩展,它就会被移除队列并变为死结点,之后不再被使用。因此,在分支限界法中,一个活结点最多只有一次机会成为扩展结点。

6. 答案:B
解析:活动安排问题用“按最早结束时间贪心”能得到最优解,属贪心策略。

7. 答案:无
解析:

8. 答案:A

解析:蒙特卡罗算法以概率方式给出结果,可能以一定概率得出错误答案。

9. 答案

解析:舍伍德算法的目标是消除最坏情况和平均情况下的时间复杂度差异,因此一定能够得到正确的解。

10. 答案:D

二、简答题

题干

解析

1.

问题同构指的是两个问题,在数学模型、计算结构和求解方法上具有相同的本质,因此可以用相同的算法框架或思想来解决。同构问题往往具有相似的最优子结构、递归关系或状态转移方程。

举例:矩阵链乘法问题与凸多边形最优三角剖分问题是经典同构问题。两者均可使用动态规划求解,且状态转移方程形式相同。

2.

最优子结构性质是指一个问题的最优解包含其子问题的最优解,即可以通过组合子问题的最优解来构造原问题的最优解。

要求问题具有最优子结构性质的算法设计思想包括:

动态规划:利用最优子结构构建状态转移方程,自底向上或自顶向下求解。

贪心算法:每一步的贪心选择必须满足最优子结构,以确保局部最优能导致全局最优。

分治法:将问题分解为相互独立的子问题,子问题的最优解合并后应为原问题的最优解。

3.

拉斯维加斯算法:总是给出正确解,但运行时间是随机的,期望时间复杂度有界。

举例:随机化快速排序,随机选择枢轴元素,排序结果一定正确,但运行时间与枢轴选择有关,期望时间为O(nlogn)。

蒙特卡罗算法:运行时间固定,但可能给出错误解,错误概率可以通过重复执行控制。

举例:蒙特卡罗算法求解主元素问题。算法随机选择数组中的一个元素作为候选,统计其出现次数,若超过半数则判定为主元素,否则判定为不存在。单次运行时间固定为 O(n),但存在将非主元素误判为主元素的概率(小于 1/2)。通过重复执行 k 次,可将错误概率降至 (1/2)^k 以下,从而以可控的错误概率换取确定且高效的运行时间。

三、算法应用题

3.1 题干

3.1 解析

(1)最少需要进行 n-1 天。

(2)

选手\天数第 1 天第 2 天第 3 天
1234
2143
3412
4321

3.2 题干

3.2 解析

m 矩阵如下:

i \ j1234
10500075008000
20250007500
302500
40

s 矩阵如下:

i \ j1234
11122
2222
333
44

最少数乘次数:8000

最优加括号方案:

3.3 题干

3.3 解析

(1)

(2)最大团:

3.4 题干

3.4 解析

四、算法设计题

题干

解析

算法思想

定义状态数组dp[i]表示以第i个元素结尾的最长上升子序列长度,初始时每个元素自身构成长度为1的子序列,故dp[i]初始化为1。对于每个位置i,遍历其前的所有位置jj < i),若nums[j] < nums[i],说明nums[i]可接在以nums[j]结尾的上升子序列之后,形成更长的子序列,因此更新dp[i] = max(dp[i], dp[j] + 1)。最终,最长上升子序列的长度即为所有dp[i]中的最大值。

伪代码

int LIS(vector<int>& a) { int n = a.size(); if (n == 0) return 0; vector<int> dp(n, 1); // dp[i] 表示以 a[i] 结尾的LIS长度 int maxLength = 1; for (int i = 0; i < n; ++i) { for (int j = 0; j < i; ++j) { if (a[j] < a[i]) { dp[i] = max(dp[i], dp[j] + 1); } } maxLength = max(maxLength, dp[i]); } return maxLength; }

时间复杂度

上述算法使用了两层循环,外层循环遍历每个元素(共 n 次),内层循环对每个元素遍历其前的所有元素(平均 n/2 次),因此总的时间复杂度为,其中 n 为序列长度。

五、论述题

题干

解析

随便写写得了,估计不会考,考就是送分的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 6:34:02

Sambert模型许可证是什么?Apache 2.0合规使用指南

Sambert模型许可证是什么&#xff1f;Apache 2.0合规使用指南 1. 什么是Sambert语音合成镜像——开箱即用的中文TTS体验 你有没有遇到过这样的场景&#xff1a;需要快速生成一段带情绪的中文语音&#xff0c;用于产品演示、教学视频或内部测试&#xff0c;但又不想折腾复杂的…

作者头像 李华
网站建设 2026/5/10 1:04:52

企业级AI图像系统搭建趋势:Z-Image-Turbo弹性部署实战分析

企业级AI图像系统搭建趋势&#xff1a;Z-Image-Turbo弹性部署实战分析 1. 为什么企业开始关注Z-Image-Turbo这类轻量级图像生成系统 最近和不少做数字内容生产的团队聊下来&#xff0c;发现一个明显变化&#xff1a;大家不再只盯着动辄需要8张A100、部署周期两周起的大模型方…

作者头像 李华
网站建设 2026/5/9 3:19:21

OCR系统集成实战:cv_resnet18_ocr-detection与业务系统对接

OCR系统集成实战&#xff1a;cv_resnet18_ocr-detection与业务系统对接 1. 为什么需要把OCR检测模型接入业务系统 你是不是也遇到过这些情况&#xff1a;客服每天要手动录入几百张发票信息&#xff0c;电商运营要从上千张商品截图里提取卖点文案&#xff0c;或者企业文档管理…

作者头像 李华
网站建设 2026/5/4 1:31:27

LinkedHashMap 的实现

Java LinkedHashMap&#xff1a;结合哈希表与链表的数据结构 LinkedHashMap 是 Java 集合框架中的一种数据结构&#xff0c;结合了 HashMap 的高效查找特性和 LinkedList 的顺序维护特性。与普通的 HashMap 不同&#xff0c;LinkedHashMap 保留了插入元素的顺序或访问顺序&…

作者头像 李华
网站建设 2026/4/21 12:16:56

思科修复已遭利用的 Unified CM RCE 0day漏洞

聚焦源代码安全&#xff0c;网罗国内外最新资讯&#xff01; 编译&#xff1a;代码卫士 思科已修复位于 Unified Communications 和 Webex Calling中一个严重的RCE漏洞CVE-2026-20045。该漏洞已遭利用。 该漏洞影响思科 Unified CM、Unified CM SME、Unified CM IM & Prese…

作者头像 李华
网站建设 2026/5/10 10:31:12

通义千问3-14B部署教程:Ollama+WebUI双Buff环境搭建步骤详解

通义千问3-14B部署教程&#xff1a;OllamaWebUI双Buff环境搭建步骤详解 1. 为什么选Qwen3-14B&#xff1f;单卡跑出30B级效果的“守门员” 你是不是也遇到过这些情况&#xff1a;想用大模型做长文档分析&#xff0c;但Qwen2-72B显存爆了&#xff1b;想上手开源模型&#xff0…

作者头像 李华