算法总结系列(二):贪心法、分治法

本文介绍了贪心法和分治法两种算法思想。针对贪心法,通过币种统计问题举例说明其基本流程,并探讨了贪心法获得最优解的条件。对于分治法,以快速排序为例,详细解释了分治法的步骤及其实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法2——贪心法、分治法

贪心法

关键词:局部最优、近似

算法描述:
1)定义初始点
2)从初始点出发,找当前点局部最优解
3)以局部最优解为初始点,找新的局部最优解
4)重复步骤(3),直到获得满足要求的解

这里我们先不讲贪心法的使用条件,放到后面讲。
下面先举一个例子——币种统计问题,来描述基础的贪心法流程

币种统计问题

问题描述
单位给员工发工资,为了保证取款的张数最少,取工资前要统计出所有职工的工资所需各种币值(100,50,20, 10, 5, 2, 1共7种)的张数。

程序求解(python):

statistic = {
   
   '100':0, '50':0, '20':0, '10':0, '5':0, '2':0, '1':0}

bal = 2543

for val in statistic.keys():
	val = int(val)
	num = int(bal / val
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值