当前位置: 首页 > news >正文

网站原型的交互怎么做网站建设哪些职位

网站原型的交互怎么做,网站建设哪些职位,佛山市企业网站建设报价,关键词近似装箱问题 解决装箱问题#xff08;bin packing problem#xff09;的算法。也可以用贪婪算法来完成 给定N项物品#xff0c;大小为s1#xff0c;s2#xff0c;s3…sn#xff0c;所有的大小满足0 si 1。问题是要把这些物品装到最小数目的箱子中#xff0c…近似装箱问题 解决装箱问题bin packing problem的算法。也可以用贪婪算法来完成 给定N项物品大小为s1s2s3…sn所有的大小满足0 si 1。问题是要把这些物品装到最小数目的箱子中已知每一个箱子容量是1个单位。我们用如下案例有大小如下的物品0.2, 0.5, 0.4, 0.7, 0.1, 0.3, 0.8的一列物品最优装修办法 有两种结局方案 一种联机装箱问题online bin packing problem。在这种问题中每一件物品必须放入一个箱子之后才能处理下一个物品第二中脱机装箱问题offline bin packing problem。在一个脱机装箱算法中我们做任何事情都需要等所有的输入数据全被读取之后才进行 联机算法 下项合适算法 算法定义当处理任何一项物品我们检查看他是否能装进去刚才放入物品的箱子中。 如果能那么放入该箱子否则开辟一个新的箱子。 算法实现简单而且还是线性时间下运行 算法实现 /*** 近似装箱问题 - 联机算法 - 脱机算法** author liaojiamin* Date:Created in 14:12 2021/1/15*/ public class KnapsackProblem {private static final int MAX_WEIGHT 10;/*** 随机生成10 以内的物品数据*/public static int[] getSource(int num) {int[] source new int[num];Random random new Random();for (int i 0; i num; i) {source[i] random.nextInt(10);System.out.println(source[i]);}return source;}/*** 下项适合算法* 当处理任何一项物品适合我们坚持是否能装进去刚才装物品的同一个箱子* 如果能就放入如果不能就重新开一个新箱*/public static int[][] multiKnasack(int[] source ) {int num source.length;//极端情况所有获取都是1 都在第一个里面int[][] myPackage new int[num][num];int[] position new int[num];int[] weight new int[num];int packagePosition 0;for (int i 0; i source.length; i) {if (MAX_WEIGHT - weight[packagePosition] source[i]) {packagePosition;}myPackage[packagePosition][position[packagePosition]] source[i];weight[packagePosition] source[i];position[packagePosition] 1;}return myPackage;}public static void main(String[] args) {int[] source getSource(20);int[][] myPackage multiKnasack(source);for (int i 0; i myPackage.length; i) {System.out.print(第 i 个箱子);for (int i1 0; i1 myPackage[i].length; i1) {if (myPackage[i][i1] 0) {System.out.print(myPackage[i][i1] , );}}System.out.println();}} }下项合适算法有一个合理的性能保证但是效果在实践中很差因为在不需要开普新箱子的时候他却会开辟一个新的箱子。 首次合适算法 算法定义有序扫描箱子并把新的物品放入足够能放下他的第一个箱子中。因此只有当前面那些放置物品的箱子已经容纳不下当前物品的时候才会开辟新的箱子算法实现 /*** 近似装箱问题 - 联机算法 - 脱机算法** author liaojiamin* Date:Created in 14:12 2021/1/15*/ public class KnapsackProblem {private static final int MAX_WEIGHT 10;/*** 随机生成10 以内的物品数据*/public static int[] getSource(int num) {int[] source new int[num];Random random new Random();for (int i 0; i num; i) {source[i] random.nextInt(10);System.out.println(source[i]);}return source;}/*** 首次适合算法* 义序草庙箱子并把新的一项物品放入能容纳的箱子中* */public static int[][] multiKnasackFirst(int[] source ){int num source.length;int[][] myPackage new int[num][num];int[] position new int[num];int[] weight new int[num];int packagePosition 0;for (int i 0; i source.length; i) {boolean isInsert false;for (int j 0; j weight.length; j) {if(MAX_WEIGHT - weight[j] source[i]){isInsert true;myPackage[j][position[j]] source[i];weight[j] source[i];position[j] 1;break;}}if(!isInsert){packagePosition ;myPackage[packagePosition][position[packagePosition]] source[i];weight[packagePosition] source[i];position[packagePosition] 1;}}return myPackage;}public static void main(String[] args) {int[] source getSource(20);int[][] myPackage multiKnasackFirst(source);for (int i 0; i myPackage.length; i) {System.out.print(第 i 个箱子);for (int i1 0; i1 myPackage[i].length; i1) {if (myPackage[i][i1] 0) {System.out.print(myPackage[i][i1] , );}}System.out.println();}} }首次合适算法时间复杂度达到O(N^2) 最佳适合算法 第三种策略最佳适合装箱法。改算法不是把一项物品放入所发现的第一个能容纳他的箱子而是放到所有箱子中能容纳他的最满的哪一个箱子中。典型的方法。 算法实现 package com.ljm.resource.math.greedy;import java.util.Random;/*** 近似装箱问题 - 联机算法 - 脱机算法** author liaojiamin* Date:Created in 14:12 2021/1/15*/ public class KnapsackProblem {private static final int MAX_WEIGHT 10;/*** 随机生成10 以内的物品数据*/public static int[] getSource(int num) {int[] source new int[num];Random random new Random();for (int i 0; i num; i) {source[i] random.nextInt(10);System.out.println(source[i]);}return source;}/*** 最佳合适算法* 将物品放入一个能容纳他并且最满的箱子中* */public static int[][] multiKnasackBest(int[] source ){int num source.length;int[][] myPackage new int[num][num];int[] position new int[num];int[] weight new int[num];int packagePosition 0;for (int i 0; i source.length; i) {int maxWeight -1;int maxWeightId -1;for (int j 0; j packagePosition; j) {if(MAX_WEIGHT - weight[j] source[i]){if(weight[j] maxWeight){maxWeight weight[j];maxWeightId j;}}}if(maxWeightId 0){packagePosition;myPackage[packagePosition][position[packagePosition]] source[i];weight[packagePosition] source[i];position[packagePosition] 1;}else {myPackage[maxWeightId][position[maxWeightId]] source[i];weight[maxWeightId] source[i];position[maxWeightId] 1;}}return myPackage;}public static void main(String[] args) {int[] source getSource(20);int[][] myPackage multiKnasackBest(source);for (int i 0; i myPackage.length; i) {System.out.print(第 i 个箱子);for (int i1 0; i1 myPackage[i].length; i1) {if (myPackage[i][i1] 0) {System.out.print(myPackage[i][i1] , );}}System.out.println();}} } 脱机算法 如果我们能够观察全部物品在给出答案那么我们应该会做的更好。实时确实如此我们通过彻底的搜索总能找到最优的装箱方法因此我们对联机的情况下进行改进 我们联机算法中主要问题在于大项物品装箱困难特别是当他们输入的后期出现的时候总要新建立一个箱子。我们脱机算法中先将物品按照权重排序这样大的在前面。次数我们应用首次适合算法或者最佳适合算法得到解决他们分别是首次适合递减算法最佳适合递减算法 首次适合递减算法算法实现 /*** 近似装箱问题 - 联机算法 - 脱机算法** author liaojiamin* Date:Created in 14:12 2021/1/15*/ public class KnapsackProblem {private static final int MAX_WEIGHT 10;/*** 随机生成10 以内的物品数据*/public static int[] getSource(int num) {int[] source new int[num];Random random new Random();for (int i 0; i num; i) {source[i] random.nextInt(10);System.out.println(source[i]);}return source;}public static int[][] multiknasackDecreasing(int[] source){quickSort(source, 0, source.length - 1);return multiKnasackFirst(source);}/*** 快排从大到小* */public static void quickSort(int[] source, int left, int right){if(left right){int temp swap(source, left, right);quickSort(source, left, temp - 1);quickSort(source, temp 1, right);}}public static int swap(int[] source, int left, int right){if (left right){int position source[left];while (left right){while(left right position source[right]){right --;}if(left right){source[right] source[left];left ;}while (left right position source[left]){left ;}if(left right){source[left] source[right];right --;}}source[left] position;}return left;}/*** 首次适合算法* 义序草庙箱子并把新的一项物品放入能容纳的箱子中* */public static int[][] multiKnasackFirst(int[] source ){int num source.length;int[][] myPackage new int[num][num];int[] position new int[num];int[] weight new int[num];int packagePosition 0;for (int i 0; i source.length; i) {boolean isInsert false;for (int j 0; j weight.length; j) {if(MAX_WEIGHT - weight[j] source[i]){isInsert true;myPackage[j][position[j]] source[i];weight[j] source[i];position[j] 1;break;}}if(!isInsert){packagePosition ;myPackage[packagePosition][position[packagePosition]] source[i];weight[packagePosition] source[i];position[packagePosition] 1;}}return myPackage;}public static void main(String[] args) {int[] source getSource(20);int[][] myPackage multiknasackDecreasing(source);for (int i 0; i myPackage.length; i) {System.out.print(第 i 个箱子);for (int i1 0; i1 myPackage[i].length; i1) {if (myPackage[i][i1] 0) {System.out.print(myPackage[i][i1] , );}}System.out.println();}} } 上一篇数据结构与算法–贪婪算法 下一篇数据结构与算法–分治算法
http://www.yutouwan.com/news/27941/

相关文章:

  • 联兴建设官方网站汕头网站建设stqhcx
  • 合肥专业做网站个人网站做公司网站
  • 深圳招聘网官方网站seo外链群发网站
  • 宁波大型网站建设上海人才中心档案托管
  • 在互易上做的网站如何修改圆通速递我做网站
  • 义乌做网站要多少钱域名购买哪个网站
  • 怎么用手机创建网页排名优化公司案例
  • 电商网站开发常用代码空压机东莞网站建设
  • 什么网站建设效果好江门网站自助建站
  • 未来 网站开发 知乎物流公司电话
  • 做网站能用的字体黄南州网站建设公司
  • 吃的网站要怎么做广告设计与制作实训总结2000字
  • 开发企业门户网站中国商标官网入口
  • 外贸搜素网站wordpress 共享
  • 怎么免费上传网页网站青州建设局网站
  • 中山哪里网站建设成都有啥好玩的地方
  • 环保网站建设费用政务网站信息化建设情况
  • 珠海h5建站成都哪些公司做网站好
  • 淄博网站制作设计公司asp网站搭建工具
  • 做网站排版网上购物软件哪个好
  • 怎样做自己的销售网站6如何做强一个网站的品牌
  • 校园网站建设的感受论文wordpress笑话类模板
  • 电脑购物网站模板wordpress 大型站
  • 做网站模板链接放哪里装饰网站建设重要性
  • 如何用工控做网站上海公司注销流程及资料
  • 网站怎么做推广和优化哪些企业需要网络推广
  • 免费广告设计模板网站免费网址申请
  • 做外贸网站如何常用的网络营销推广方法有哪些
  • 免费背景图片素材网站怎样做音视频宣传网站
  • 好看的网站设计公司网站备案关闭