- 73
- 0
- 约1.52万字
- 约 69页
- 2016-06-28 发布于湖北
- 举报
不断重复以上过程,直到以下三种情况出现: (1)如果当前需要选择的物品重量总和为0,说明搜索已经成功,算法结束; (2)如果当前需要选择的物品重量总和已经小于w1,说明搜索失败,算法结束; (3)若当前被考虑的选择物品对象为w0(w0不存在),说明搜索失败,算法结束。 简单背包问题的递归实现过程见算法5.9。 下面考虑简单背包问题非递归算法的实现。仍然假设物品的重量按从小到大的顺序存放于数组w中,并且选择物品时总是优先考虑重量大的物品。 由于简单背包问题的求解明显带有试探性,因此该问题属于复杂递归问题,在实现过程中必须借助于堆栈来记录回溯点。于是我们定义一个栈stack,每当试着选择一件物品,就设置一个回溯点,将它的重量和编号压入栈中;而一旦发现它被选择的可能性不存在,则将它出栈,同时通过其编号取它前面的一个物品作为当前考虑的对象;如果求解过程中遇到无法再求解下去需要回溯的情形,但此时栈已为空,则说明该背包问题无解,算法的执行以失败而告终;若被选择物品的重量总和恰巧与s的值相等,则求解成功,算法结束。简单背包问题的非递归实现过程见算法5.10。 例9 设计一个递归函数,将一个正整数n转换成字符串。例如,若n=456,则函数输出的结果为“456”。n的位数不确定,可以为任意位数的整数。 void convert(int n) { in
您可能关注的文档
- 《霸王别姬》对一部电影的教材.ppt
- 《百分数的认识》教材.ppt
- 《鲁班和橹板》第一课时和第二课时复制教材.ppt
- 《百分数整理复习一》教材.ppt
- 《鲁科版化学反应原理》原电池教材.ppt
- 《班主任工作》课程序言与第一章教材.ppt
- 《录音新闻》优秀教材.ppt
- 《班主任如何与问题学生深度沟通》讲座教材.ppt
- 《班主任如何与问题学生深度沟通》心理学讲座教材.ppt
- 《露天矿用设备》A钻机教材.ppt
- 专项十三 复合句(含答案) 2026年中考人教版英语语法专项复习.doc.docx
- 专项十四 There be句型和主谓一致(含答案) 2026年中考人教版英语语法专项复习.doc.docx
- 专项14 构词法 学案(含答案)2025年中考人教版英语语法专项复习.doc.docx
- 静脉肾盂造影结石梗阻评估.ppt
- 《假期实践活动》教案-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
- 老年结石病合并慢病综合诊疗.ppt
- 鹿角形肾结石复杂手术治疗.ppt
- 经皮肾镜超声碎石清石术.ppt
- 《参观爱国主义教育基地》教案-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
- 《生活中的大数:整理与复习》教案(2课时)-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
原创力文档

文档评论(0)