贪心算法与分治法:原理、应用及复杂度分析
贪心算法相关内容
贪心算法是一种在每一步选择中都采取当前状态下最优(即最有利)的选择,从而希望导致结果是全局最优的算法。下面从练习题的角度来深入了解贪心算法的应用。
练习题分类及分析
- 强化练习
- 分数背包问题 :给定集合 (S = {a, b, c, d, e, f, g}),各对象有对应的效益 - 重量值,如 (a: (12, 4)) 等,要在背包容量为 18 的情况下找到最优解。需计算每个对象的效益重量比,按比例从高到低选择对象放入背包。
- 任务调度问题 :给定任务的开始和结束时间集合 (T),要解决任务调度问题。可按任务结束时间排序,依次选择不冲突的任务。
- 哈夫曼编码问题 :涉及绘制频率表和哈夫曼树,以及根据给定代码字分析可能的字符频率等。
- 创新练习
- 分数背包反例 :给出一个分数背包问题的实例,说明基于重复选择最高效益物品的贪心策略可能导致次优解。
- 相同重量物品的分数背包问题 :当所有物品重量相同时,可按效益从高到低排序,在 (O(n)) 时间内解决分数背包问题。
- 字符统计问题 :对于长度为 (n
超级会员免费看
订阅专栏 解锁全文
1571

被折叠的 条评论
为什么被折叠?



