一、算法简介
1.1什么是算法?
举个例子:量水问题
假设有两只没有刻度的桶A和B,A可以装7升水,B可以装5升水,问:如何通过A和B互相倒腾得到六升水。
解:
- 将A装满(0升变7升)
- 将A的水倒向B,(A从7升剩2升,B变5升)
- 将B倒掉,
- 将A(2升b变0)倒向B(0变2升)
- 将A装满水
- 将A倒向B(此时A从7升变4升,B从2升变5升)
- 将B倒掉,
- 将A(4升)倒向B(从0升变4升)
- 将A装满水
- 将A再倒向B(从4升变5升,A此时剩余6升。
简化步骤:
- 将下面(2,3,4,5)重复两次
2、将A装满
3、将A的