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

殃忽 2024-11-24 20:04:43

一、反证法:

  1. 假设最优解不包含贪心选择:我们假设在最优解 S 中,贪心选择 C(即当前可以选择的最大数字)并未被包含。我们称 C 为 x,它是数组中某个位置的数。

  2. 定义新解:由于 C(即 x)没有被包含在 S 中,那么在 S 中一定存在另一个数字 y 作为替代,且 y 是从 S 中选择的一个数字(注意:由于不允许选择相邻的数字,y 必然和 x 不是相邻的)。

  3. 比较和:因为 C 是当前选择的最大数字,那么显然有 x > y。为了构造一个新的解,我们将 S 中的 y 移除,并将 x 加入。

  4. 构造新的解:设 S' 是新构造的解,S' = S - {y} + {x}。由于 x > y,所以我们有:
    sum(S′)=sum(S)−y+x>sum(S)
    这说明 S' 的和大于 S 的和。

  5. 推出矛盾:根据我们的假设,S 是最优解,但现在我们得到了一个更大的和的解 S',这与我们对于 S 为最优解的假设矛盾。

因此,假设不成立,即最优解 S 必须包含贪心选择 C,“删数问题”的贪心算法是有效的,且满足贪心选择性质。

 

二、对贪心法的体会与思考:

      贪心法是一种高效的算法设计思想,通过在每一步做出局部最优选择来构建全局最优解,适用于具有贪心选择性质和最优子结构的问题。然而,并非所有问题都适合贪心算法,因此在应用时需谨慎分析问题性质。贪心法实现通常简单,时间复杂度低,但要求合理选择相应的数据结构。此外,反证法是证明贪心选择性质的重要工具,帮助验证算法的正确性。总体而言,贪心法是一种强大而实用的优化策略,适用于解决许多经典问题。

...全文
43 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 "学成在线项目前端(涉及图片、源码、psd图片等资源)"所关联的知识要点主要分布在多个前端开发的核心范畴,涵盖了HTML、CSS、JavaScript以及设计素材的应用。该项目或许是一个在线教育体系完整界面的前端构建实例,整合了构建此类平台所需的所有核心构成部分。 1. **HTML**(HyperText Markup Language)作为一种结构化标记语言,用于网页内容的组织,定义了诸如头部、主体、段落、图像等网页组成部分。在具体项目中,HTML文档负责构建并展示页面的基础架构与内容,例如课程目录展示、用户身份验证模块、课程详细信息展示等单元。 2. **CSS**(Cascading Style Sheets)专注于网页的视觉表现与布局设计,涉及颜色方案、字体选择、尺寸设定、对齐模式等细节。在"学成在线"项目中,CSS技术可能被用于塑造统一的视觉体验,例如按钮外观设计、导航栏布局规划、页面自适应布局实现等,确保在不同设备环境下的兼容性。 3. **JavaScript** 作为一种客户端脚本语言,旨在增强网页的交互性与动态表现。在"学成在线"项目中,JavaScript技术可能应用于用户行为的响应处理,如点击事件触发更多课程内容加载、表单输入验证、页面动态效果呈现、视频播放器控制等操作。此外,它也可能用于实现如AJAX异步数据获取等高级功能,以优化用户使用体验。 4. **PSD图片**代表Photoshop文档格式,通常用于存储设计构思或网页原型设计。在该项目中,PSD文件可能包含了用户界面的设计草图,设计师通过这些文件来规划并预览界面的视觉形态,包括色彩协调、图标...

434

社区成员

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

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