1. 问题
2. 解析
定理:如果装载问题有解,则存在一个使得第一条船装载量与c1的差达到最小的解。
证明:
将第一艘船装入尽可能重的集装箱
当剩余集装箱重量小于第二艘船时,那么能够装下所有集装箱。
通过不断交换集装箱,直到找到一个使得第一条船装载量与 c1的差达到最小的解。
- 设计
实例:
- 分析
最坏情况要遍历图中所有结点,算法的时间复杂度为O(2n)。 - 源码
https://github.com/LiChunning/The-Design-and-Analysis-of-Algorithms/blob/main/%E8%A3%85%E8%BD%BD%E9%97%AE%E9%A2%98.cpp