算法设计与分析第四章作业

软工2301林榆程 2024-11-24 21:33:43

一、请用反证法证明“删数问题”的算法满足贪心选择性质(即设最优解不包含贪心选择,则可以通过转换找出一个更小的数,推出矛盾)

问题:给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最小的删数方案。如果数字最前面有0不输出。

设数字A由a1a2......an组成。

贪心选择:从左至右,若ai>ai+1,将ai删去,得到新的A',a1...ai+1...an。重复这个操作,直到删除了k个数。

证明:设使用贪心选择删去的第一个数为ai。假设不使用贪心选择,设最优解选择后的数为B,a1...ai...an,那么B<A'。但是很显然,因为ai>ai+1,用ai+1替换ai,能够得到一个更小的数,这是矛盾的,所以最优解使用了贪心选择,该问题有贪心选择性质,得出证明。

二、结合本章的学习,总结你对贪心法的体会和思考

学习贪心算法后,我明白了解决问题的时候可能并不需要复杂地考虑全局结构,而只需找到局部最优解然后不断推进。

...全文
39 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

434

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧