-
第四次作业
对贪心算法的理解 贪心算法是每一步都做局部最优选择,期望通过一系列局部最优得到全局最优解;仅当问题满足贪心选择性质和最优子结构性质时有效,其优势是高效、易实现。 -
算法第四章作业
贪心策略:将所有区间按照右端点从小到大排序,如果右端点相同,则按照左端点从小到大排序。从排序后的第一个区间开始,在其右端点放置一个点,然后跳过所有包含该点的区间,继续处理剩余区间中右端点最小的区间,重复上述过程,直到所有区间都被覆盖。 证明:每次都选最早结束的区间,在它结束的时刻放点,这样能“一箭多 -
算法第五章作业
1.1.解空间:所有可能的解集合 1.2.解空间树:深度为 n+1 的 m 叉树 1.3.每个结点的状态值: (1)t:正在处理的部件编号 (2)cc:当前总价格 (3)cw:当前总重量 (4)cs[i]:第 i 个部件当前选择的供应商编号 2.回溯算法把问题分解成多步决策,每步尝试所有可能选择,可 -
算法第四章作业
我对贪心算法的理解很简单:它就是每一步都选当下看起来最好的那个选项,不纠结过去,也不预判未来,一路“一条道走到黑”。 刚学的时候,我总觉得这算法“太草率”,比如找零钱问题,想凑出最少硬币数,贪心就是每次都拿面额最大的(比如凑27元,先拿20,再拿5,再拿2个1),大部分日常场景下能成,但遇到特殊面额 -
高级语言程序设计课程第十次个人作业
   -
第四章作业
1.区间选点问题的贪心解法分析 区间选点问题是贪心算法的经典应用场景,其核心需求是给定n个闭区间,选择最少的点使得每个区间内至少包含一个选点。要高效解决这一问题,合理的贪心策略是关键。该问题的最优贪心策略为:先将所有区间按照右端点从小到大排序,随后依次遍历排序后的区间,若当前区间未被已选点覆盖,则选 -
第四章作业
第一小问: 选点问题的目标是用最少的点覆盖所有闭区间,贪心策略设计如下: 排序:将所有区间按右端点从小到大排序; 选点:从第一个区间开始,选择其右端点作为覆盖点; 迭代覆盖:依次检查后续区间,若当前区间的左端点大于当前覆盖点(说明该区间未被覆盖),则选择该区间的右端点作为新的覆盖点,重复此过程。 证 -
第五次作业
1.1 最小重量机器设计问题的解空间 最小重量机器设计问题中,设机器由n个部件组成,每个部件有m个可选供应商,第i个部件从第j个供应商采购的重量为w(i,j)、成本为c(i,j),要求总采购成本不超过预算C,求总重量最小的采购方案。其解空间为所有可能的采购组合构成的集合,即每个解可表示为n元组(x₁ -
第四次作业
1.区间选点问题的贪心策略是先将所有闭区间按右端点升序排序,选取第一个区间的右端点作为初始点,之后遍历其余区间,若当前区间左端点大于已选点,则更新选点为该区间右端点,最终得到的选点数量即为覆盖所有区间的最少点数;该算法满足贪心选择性质,可通过交换论证证明 —— 假设全局最优解的首个选点与贪心选点不同 -
Python蓝桥杯第四次学习
本周学习内容:视频 25 打包与解包————课件 31 常用数据结构补充 1:namedtuple的使用方法 【1】:_asdict() 【2】:_replace() 2:Counter的数学运算 3:lamba定义更灵活的工厂 4:.limit_denominator()有理数近似 5:自动赋值: -
算法第五章作业
一、 核心分析 1.1 解空间 所有机器设计方案的集合,表现为 n 元组 (x₁,x₂,…,xₙ)(xᵢ∈{1,…,m},代表第 i 个部件的供应商选择),规模为 mⁿ(指数级)。 1.2 解空间树 n 层完全 m 叉树:第 k 层(1≤k≤n)对应第 k 个部件的供应商选择;节点代表前 k 个部件