![](https://csdnimg.cn/release/download_crawler_static/85465635/bg3.jpg)
str(k,s[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if s[i]+s[j]<s[j]+s[i] then
begin{ 交换}
t:=s[i];
s[i]:=s[j];
s[j]:=t;
end;
for i:=1 to n do write(s[i]);
end.
贪心算法所作的选择可以依赖于以往所作过的选择,但决不依赖于将来的选择,也不依赖于子问题的解,
因此贪心算法与其它算法相比具有一定的速度优势。如果一个问题可以同时用几种方法解决,贪心算法应
该是最好的选择之一。
贪心算法经典例子
(2009-07-15 10:17:04)
标签:贪心 算法 背包问题 it
一、定义
分类:简单算法
什么是贪心算法呢?所谓贪心算法是指,在对问题求解时,总是做出在当前看来最好
的选择。也就是说,不从整体最优解出发来考虑,它所做出的仅是在某种意义上的局部最优
解。
贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题都能产
生整体最优解或整体最优解的近似解。
贪心算法的基本思路如下:
1.建立数学模型来描述问题。
2.把求解的问题分成若干个子问题。
3.对每个子问题求解,得到每个子问题的局部最优解。
4.把每个子问题的局部最优解合成为原来问题的一个解。
实现该算法的过程: