# 第13节 贪心算法(上)

# 贪心算法

  • 最自然智慧的算法
  • 用一种局部最功利的标准,总是做出在当前看来是最好的选择
  • 难点在于证明局部最功利的标准可以得到全局最优解
  • 对于贪心算法的学习主要以增加阅历和经验为主

# 从头到尾讲一道利用贪心算法求解的题目

给定一个由字符串组成的数组strs, 必须把所有的字符串拼接起来, 返回所有可能的拼接结果中,字典序最小的结果

代码:


1

# 贪心算法求解的标准过程

  • 分析业务
  • 根据业务逻辑找到不同的贪心策略
  • 对于能举出反例的策略直接跳过,不能举出反例的策略要证明有效性

这往往是特别困难的,要求数学能力很高且不具有统一的技巧性

# 贪心算法的解题套路

  • 实现一个不依靠贪心策略的解法X,可以用最暴力的尝试
  • 脑补出贪心策略A、贪心策略B、贪心策略C...
  • 用解法X和对数器,用实验的方式得知哪个贪心策略正确
  • 不要去纠结贪心策略的证明