贪心算法
SL_World
中国科学院大学计算机应用技术专业在读研究生
展开
-
贪心算法-4.5单源最短路径之Dijkstra算法(松弛操作)
问题描述:对下图中的有向图,应用Dijkstra算法计算从源顶点1到其他顶点间最短路径的过程列在下页的表中。 问题分析: public class test4_5 { public static void Dijkstra(int v,float[][] a,float[] dist,int[] prev){ int n = dist.length;原创 2017-11-25 17:06:24 · 2454 阅读 · 0 评论 -
贪心算法-4.6.1最小生成树之Prim算法(切分定理)
public class test4_6_1 { static float[] lowcast; static int[] closest; static boolean[] s; public static void prim(int n,float[][] c){ lowcast = new float[n]; //到顶点[i]最小的权值原创 2017-11-25 14:13:27 · 1000 阅读 · 0 评论 -
贪心算法-4.3最优装载问题
问题描述: 有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。 问题目标函数和约束条件如下图: 算法步骤如下:①按重量升序排序 ②装载货物public class test4_3 { public static float loading(float c,float[] w,int[] x)原创 2017-11-09 23:50:37 · 4325 阅读 · 0 评论 -
贪心算法-4.2背包问题
0-1背包问题给定n种物品和一个背包。物品i的重量是Wi,其价值为Vi,背包的容量为C。应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有2种选择,即装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i。背包问题与0-1背包问题类似,所不同的是在选择物品i装入背包时,可以选择物品i的一部分,而不一定要全部装入背包,1≤i≤n。原创 2017-11-09 23:02:47 · 1395 阅读 · 0 评论 -
贪心算法-4.1活动安排问题
问题描述:设有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si < fi 。如果选择了活动i,则它在半开时间区间[si, fi)内占用资源。若区间[si, fi)与区间[sj, fj)不相交,则称活动i与活动j是相容的。也就是说,当si≥fj或sj≥f原创 2017-11-09 00:17:46 · 1272 阅读 · 0 评论