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}的连通、加权图中寻找一颗最小生成树。算法的输