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

大庆网站建设黑icp备1900精准营销包括哪几个方面

大庆网站建设黑icp备1900,精准营销包括哪几个方面,wordpress如何进入后台,用python做网页文章目录 算法简介算法概念算法举例 经典问题 -背包问题 算法简介 算法概念 贪婪算法(Greedy)是一种在每一步都采取当前状态下最好的或者最优的选择,从而希望导致结果也是全局最好或者最优的算法。贪婪算法是当下局部的最优判断&#xff0c…

文章目录

  • 算法简介
    • 算法概念
    • 算法举例
  • 经典问题 -背包问题

算法简介

算法概念

  • 贪婪算法(Greedy)是一种在每一步都采取当前状态下最好的或者最优的选择,从而希望导致结果也是全局最好或者最优的算法。
  • 贪婪算法是当下局部的最优判断,不能回退。
  • 贪婪算法的高效性,以及所求得的答案比较接近最优结果,因此贪心算法可以作为辅助算法或者解决一些要求结果不那么精确的问题。

算法举例

  • 有硬币分值为10、9、4若干枚,问如果组成分值18,最少需要多少枚硬币?
    采用贪心算法,选择当下硬币分值最大的:10,18-10=8,8/4=2。即:1个10、2个4,共需要3枚硬币。实际上我们知道,选择分值为9的硬币,2枚就够了,也就是18/9=2。
    在这里插入图片描述

  • 如果有硬币分值为10、5、1若干枚,问如果组成分值16,最少需要多少枚硬币?
    采用贪心算法,选择当下硬币分值最大的:10,16-10=6,6-5=1,即:1个10,1个5,1个1 ,共需要3枚硬币
    即为最优解,因此贪心算法适合于一些特殊的情况,如果能用一定是最优解。

经典问题 -背包问题

背包问题是算法的经典问题,分为部分背包和0-1背包,主要区别如下:

  • 部分背包:某件物品是一堆,可以带走其一部分
  • 0-1背包:对于某件物品,要么被带走(选择了它),要么不被带走(没有选择它),不存在只带走一
    部分的情况。
    部分背包问题可以用贪心算法求解,且能够得到最优解。

假设一共有N件物品,第 i 件物品的价值为 Vi ,重量为Wi,一个小偷有一个最多只能装下重量为W的背
包,他希望带走的物品越有价值越好,可以带走某件物品的一部分,请问:他应该选择哪些物品?
假设背包可容纳50Kg的重量,物品信息如下表:
在这里插入图片描述贪心算法的关键是贪心策略的选择
将物品按单位重量所具有的价值排序。总是优先选择单位重量下价值最大的物品
按照我们的贪心策略,单位重量的价值排序: 物品A > 物品B > 物品C
因此,我们尽可能地多拿物品A,直到将物品1拿完之后,才去拿物品B,然后是物品C 可以只拿一部
分…

package com.xxliao.algorithms.greedy.demo01;import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;/*** @author xxliao* @description: 贪心算法 - 背包问题* @date 2024/5/31 19:05*/
public class Greedy {public static void main(String[] args) {Greedy greedy = new Greedy();List<Goods> goodslist = new ArrayList<>();goodslist.add(new Goods("A", 10, 60));goodslist.add(new Goods("C", 30, 120));goodslist.add(new Goods("B", 20, 100));greedy.take(goodslist,50);}public void take(List<Goods> goodsList, double bag_capacity) {// 按照单价进行排序sort(goodsList);double sum_weight = 0d;for (int i = 0; i < goodsList.size(); i++) {sum_weight += goodsList.get(i).getWeight();if(sum_weight <= bag_capacity){System.out.println(goodsList.get(i).name + "取" + goodsList.get(i).weight + "kg");}else {System.out.println(goodsList.get(i).name+ "取" +(bag_capacity-(sum_weight - goodsList.get(i).weight)) +"kg");return;}}}/*** @description  根据单价倒序* @author  xxliao* @date  2024/5/31 19:55*/public void sort(List<Goods> goodsList){goodsList = goodsList.stream().sorted(Comparator.comparing(Goods::getPrice).reversed()).collect(Collectors.toList());}
}

演示结果:
在这里插入图片描述

http://www.dtcms.com/wzjs/128845.html

相关文章:

  • 安徽合肥做网站的公司有哪些网站统计分析工具的主要功能
  • 怎么做外围网站的代理搜索引擎技术
  • wordpress 点击文章图片路径上海搜索引擎优化seo
  • 关键词网站建设推广网站描述和关键词怎么写
  • 建设网站怎么收费网络推广渠道公司
  • 微网站建设价格对比新闻热点
  • 西安网站开发有哪些公司seo前线
  • 网站开发项目技能比赛获奖报道有域名有服务器怎么做网站
  • app购物网站建设合肥推广外包公司
  • 网络促销网站seo博客
  • 注册新公司网上核名流程seo网站监测
  • 做外贸的网站域名怎么买搜索引擎的工作原理有哪些
  • iapp网站做软件网站推广网络营销
  • 网站信息管理系统珠海百度搜索排名优化
  • 我的手机网站网络营销的策划流程
  • 做企业商城网站交换链接的其它叫法是
  • 东莞微信网站制作焊工培训内容
  • 新媒体运营工作内容厦门seo网站优化
  • 做动态的网站的参考资料有哪些安卓优化大师旧版本下载
  • 内蒙古做网站公司鹤壁seo
  • 个人网站备案 照片如何写软文赚钱
  • 保定企业免费建站网络广告的计费方式
  • 本地南昌网站建设女教师遭网课入侵直播录屏曝光se
  • 长沙企业网站开发微联讯点营销推广方案范文
  • 中国vpswindows野外农民工seo的主要工作内容
  • 深圳宝安区怎么样搜索引擎优化的流程
  • 自己公司做公益网站怎么弄商品推广软文范例200字
  • 只做瓶子包装设计的创意网站潍坊百度关键词优化
  • 抚州市建设局网站查询分销系统
  • 那个网站做视频能挣钱怎么推广软件