【读书笔记】《大学算法教程》——chpt7.贪心算法

by Richard Johnsonbaugh Marcus Schaefer


贪心是指在所有可选的部分解中,被选中的是在当下看来最有效的那一个。其结果不一定是最优解。
7.1 硬币兑换
本算法使用面额为denom[1]>denom[2]>...>denom[n]=1的硬币来构成总金额为A的兑换。

Input Parameters: denom,A
Output Parameter: None

greedy_coin_change(denom,A){
  i=1
  while(A>0){
    c=A/denom[i]
    println("使用"+c+"个面额"+denom[i]+"的硬币")
    A=A-c*denom[i]
    i=i+1
  }
}


7.2 Kruskal算法
生成树:是G的一个子图,包含了G的全部顶点。
最小生成树:有最小权重的一棵生成树。
为了实现Kruskal算法:
  1.必须表示这个图:把图表示成边及其权重的一个列表。
  2.根据权重以非降序把边排序,然后以排序次序对它们检查。
  3.能确定添加一条边是否会产生环路。

Krustal算法:有顶点集{1,...,n}的连通、加权图中寻找一颗最小生成树。算法的输

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值