期末考试算法题终结

(1)使用任意算法解决如下问题

问题:有 N 件物品和一个容量为 V 的背包。第 i 件物品的费用是 w[i],价值是 p[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。

举例:假设v=20,w={5,6,3,7,8},p={6,7,4,8,9},则最大价值为23

(2)使用分治法解决排序问题

问题:有一组无序的整数,现设计一种算法使该组数有序。

举例:原数据为1  6  5  2  3  8  7  9,排序后的数据为1  2  3  5  6  7  8  9

(3)单源最短路径

问题:给定一个带权有向图G=(V,E)。其中每条边的权是非负实数。另外还给定v中的一个顶点,称为源。现在要计算从源到所有其他各顶点的最短路长度。这里路的长度是指路上各边权之和。

举例:假设输入一个带权有向图的二维数组,输出单源最短路径的长度。

(4)使用动态规划算法解决如下问题

问题:一个给定序列的子序列是在该序列中删去若干元素后得到的序列。当z既是x的子序列又是y的子序列是,称z为x和y的公共子序列。现给定两个序列x和y,求x和y的最长公共子序列的长度。

举例:x={A,B,C,B,D,A,B},y={B,D,C,A,B,A},则输出4

(5)使用动态规划算法解决如下问题

问题:给定n个矩阵{A1,A2,...,An},其中Ai与Ai+1是可乘的,i=1,2,...,n-1,求矩阵相乘至少需要多少次数乘?

举例:A1 10*100,A2 100*5,A3 5*50,则A1*A2*A3至少需要7500次数乘。

  (6)使用分治法解决如下问题

问题:将正整数n表示成一系列正整数之和n=n1+n2+...+nk(其中,n1>=n2>=...>=nk>=1,k>=1),求任意正整数n的划分数(n<10)。

举例:整数5有如下5种划分:

5=4+1,5=3+2,5=3+1+1,5=2+1+1+1,5=1+1+1+1+1

  (7)使用二分搜索算法解决如下问题

问题:给定一个已排好序的n个元素,现要在这n个元素种找出一个指定的元素x。

举例:1  2  3  5  6  7  8  9 ,如输入5则输出4,如输入10,则输出false。

   (8)使用贪心算法解决如下问题

问题:有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为wi。最优装载问题要求在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。

举例:假设c=20,w={5,6,7,8,9},则输出 5  6  7

   (9)使用回溯法解决如下问题

问题:某售货员要到若干城市去推销商品,已知各城市之间的路程。他要选定一条从驻地出发,经过每个城市一次,最后回到驻地的路线,使总的路程(或总旅费)最小。城市数量小于5个

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值