首页 > 编程语言 >【计算机算法设计与分析】最优子结构和贪心选择性质的证明

【计算机算法设计与分析】最优子结构和贪心选择性质的证明

时间:2023-06-20 11:36:56浏览次数:51  
标签:更优 元素 子结构 选择 算法 最优 贪心


最优子结构性质(反证法)

  • 计算某问题的最优解包含的计算该问题的子问题也是最优解。事实上,如果找到子问题的更优解,则可以替换当前子问题的解,得到一个比最优解更优的解,这是一个矛盾。

贪心选择性质(数学归纳法)

  • 先设一个最优解【计算机算法设计与分析】最优子结构和贪心选择性质的证明_子结构(【计算机算法设计与分析】最优子结构和贪心选择性质的证明_最优解_02为所给定的总元素集合,且【计算机算法设计与分析】最优子结构和贪心选择性质的证明_子结构_03【计算机算法设计与分析】最优子结构和贪心选择性质的证明_最优解_02按照某种有利于算法贪心进行的顺序进行排序),并且设【计算机算法设计与分析】最优子结构和贪心选择性质的证明_最优解_05为最优解的第一个元素(即【计算机算法设计与分析】最优子结构和贪心选择性质的证明_数学归纳_06)。
  • 1)当【计算机算法设计与分析】最优子结构和贪心选择性质的证明_数学归纳_07时,【计算机算法设计与分析】最优子结构和贪心选择性质的证明_子结构_03就是一个以贪心选择开始的最优解;
  • 2)当【计算机算法设计与分析】最优子结构和贪心选择性质的证明_数学归纳_09时,设【计算机算法设计与分析】最优子结构和贪心选择性质的证明_数学归纳_10,由于【计算机算法设计与分析】最优子结构和贪心选择性质的证明_子结构_03的价值与【计算机算法设计与分析】最优子结构和贪心选择性质的证明_最优解_12的价值相等(即【计算机算法设计与分析】最优子结构和贪心选择性质的证明_子结构_03能做到的【计算机算法设计与分析】最优子结构和贪心选择性质的证明_最优解_12也可以做到),且【计算机算法设计与分析】最优子结构和贪心选择性质的证明_子结构_03是最优的,故【计算机算法设计与分析】最优子结构和贪心选择性质的证明_最优解_12也是最优的,因此【计算机算法设计与分析】最优子结构和贪心选择性质的证明_最优解_12是以贪心选择元素1开始的最优解。


标签:更优,元素,子结构,选择,算法,最优,贪心
From: https://blog.51cto.com/u_16165815/6521624

相关文章

  • 【计算机算法设计与分析】线性时间选择(C++_分治递归)
    问题描述给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素。思路线性时间选择有两种方法:(1)随机选择快排的标准元素。(2)将集合分为n个由五个元素组成的集合,对每个五元素集合求其中位数,再对所有的五元素集合的中位数求其中位数,作为快排的标准元素。CodeV-1(Ran......
  • 【计算机算法设计与分析】6-5 最小重量机器设计问题(C++_回溯法/分支限界法)
    问题描述设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得。设wij是从供应商j处购得的部件i的重量,cij是相应的价格。设计一个优先队列式分支限界法,给出总价格不超过d的最小重量机器设计。对于给定的机器部件重量和机器部件价格,设计一个优先队列式分......
  • P3371 【模板】单源最短路径(弱化版)(C++_SPFA算法_链式向前星)
    题目背景本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步P4779。题目描述如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。输入格式第一行包含三个整数n,m,s,分别表示点的个数、有向边的个数、出发点的编号。接下来m行每行包含三个......
  • PACS/RIS系统源码,提供先进3D图像处理和算法
    PACS/RIS系统可实现检查预约、病人信息登记、计算机阅片、电子报告书写、胶片打印、数据备份等一系列满足影像科室日常工作的功能。登记系统实现与HIS系统的连接,从HIS系统提取患者相关信息后,登记病人资料,并可扫描检查申请单;实现DICMWRKLIST服务,在检查登记后,自动将中文信息转换为英......
  • 基于C语言的一维小波变换处理算法使用C语言实现的小波变换一维信号处理算法,以下是使用
    基于C语言的一维小波变换处理算法使用C语言实现的小波变换一维信号处理算法,以下是使用MATLAB和C语言算法的处理结果对比图。还可以提供说明文档对程序进行说明。涉及到的知识点和领域范围是信号处理和编程语言。小波变换是一种信号处理技术,用于分析和处理信号的频率和时间特性。C......
  • 算法题总结-字符串编辑距离
    原题https://www.nowcoder.com/practice/3959837097c7413a961a135d7104c314?tpId=37&tqId=21275&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3Fdifficulty%3D3%26page%3D1%26pageSize%3D50%26search%3D%26tpId%3D37%26type%3D37&am......
  • 原地算法
    在只使用O(1)的的额外空间的情况下在原地修改输入数组.例如:给定nums=[0,0,1,1,1,2,2,3,3,4],删去重复的元素,返回长度为5,元素为[0,1,2,3,4];函数代码实现为:intremoveDuplicates(int*nums,intnumsSize)//原地算法{inti;if(nums==NULL||numsSize==0)retur......
  • 代码随想录算法训练营第十二天| 递归遍历 (必须掌握)迭代遍历 统一迭代
    递归遍历重点:1,TreeNode的自定义2,val=0== val=NULL;代码:1voidpreRecursor(TreeNode*root,vector<int>&result)2{3if(root==NULL)4return;5result.push_back(root->val);6preRecursor(root->left,result);7......
  • P1969 积木大赛(C++_贪心_模拟)
    题目描述春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是。在搭建开始之前,没有任何积木(可以看成n块高度为0的积木)。接下来每次操作,小朋友们可以选择一段连续区间,然后将第第L块到第R......
  • P1095 守望者的逃离(C++_贪心_模拟/dp)
    题目描述恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为17m/s,以这样的速度......