Liny_@NotePad

沉迷ACG中

贪心法求解单源最短路径问题

虽说之前贴了模版 = = 但还是按照老师的格式写一下……

每次找到距离源点最接近且未被访问的点,对该点能到达的所有结点遍历比较经过该点中转后的距离是否小于之前计算的最短距离,是则更新该结点距离(若之前没访问过还要置其访问标记为真)。最多查找n-1次各遍历过一遍后即可得出最终解。

贪心法:部分背包问题

因可以取物体的部分放入,故每次选择价值重量比最高的物体放入,可保证放入的价值一定最大,满足贪婪选择性质和最有子结构性质,故采用贪心算法求解:
1. 根据各个物体的价值p与重量w计算价值重量比v
2. 根据v降序排序
3. 从当前最大的v的开始,判断该物体重量是否超过背包剩余载重
4. 是则放入背包剩余载重量的物体,加上这部分的价值,跳到7
5. 否则将物体完整放入背包,加上物体的价值
6. 若还有物体未放入背包,则跳到3
7. 输出背包中物体的总价值