BJUT算法设计与分析考试真题 无答案

试题为考后回忆。如有侵权联系删除。

(1,2题选其一)

1、生兔子问题 8分
已知兔子从第3个月开始,每个月都能繁殖1对兔子。
(1)现在,第一个月领养了1对兔子。写出这种情况下,1年中(12个月)每个月的兔子个数。
(2)然后写出生兔子问题的一般算法。

2、爬楼梯问题 8分
一次爬1个楼梯或者2个楼梯,
(1)求爬13层楼梯时每一层的可能方式
(2)以及写出求爬楼梯问题的一般算法

3、称重问题 10分
有10箱产品,有1箱产品是次品,已知次品的重量比正常产品少10克。假设箱子编号为x(从1到10),只允许你称重一次,称重结果为w
请设计一个算法查找出哪个箱子中是次品,并表示最后算出的次品的箱子编号。表达式中只允许出现x、w和数字。

4、满足何种性质的问题被称为NP完全问题?请简述研究NP完全问题的意义。

5、试简要阐述“论证某一问题具有最优子结构性质”时的一般方法;并证明0-1背包问题的最优子结构性质

6、广义背包问题 30分
给定载重量为M的背包和n种物品,每种物品有一定的重量和价值,现在需要设计算法,在不超过背包载重量的前提下,巧妙选择物品,使得装入背包的物品的总价值最大化。规则是,每种物品均可装入背包多次或不装入(但不能仅装入物品的一部分)
设计求解广义背包问题的算法,写出递归公式、详细算法思路(可以举例说明),说明时间复杂度

7、查找元素 20分
已知一个递增序列,存放在A[0,n-1]数组下标的数组中。
假设存在一个元素A[i]=i,设计一个最坏时间复杂度为O(logn)的算法,找到这个元素i

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值