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

广安做网站重庆网站建设与制作

广安做网站,重庆网站建设与制作,网站建设教程科普,优质公司网站贪心算法是一种在每一步选择中都采取当前状态下最优或最优近似的选择,以期望最终得到全局最优解的算法。贪心算法并不总能得到全局最优解,但在某些问题上,它可以得到全局最优解,并且比动态规划等其他方法更为简单和高效。 贪心算…

贪心算法是一种在每一步选择中都采取当前状态下最优或最优近似的选择,以期望最终得到全局最优解的算法。贪心算法并不总能得到全局最优解,但在某些问题上,它可以得到全局最优解,并且比动态规划等其他方法更为简单和高效。

贪心算法的基本思想

贪心算法的核心思想是:

  1. 贪心选择性质:每一步都做出局部最优选择,即当前最优的选择,希望通过一系列局部最优选择能得到全局最优解。
  2. 无后效性:当前的选择不会影响后续的选择,即后面的选择不依赖于之前的状态。

贪心算法的应用场景

贪心算法通常用于解决一些优化问题,比如最短路径问题、背包问题、活动选择问题、最小生成树等。下面通过几个经典问题来介绍贪心算法。

1. 活动选择问题

问题描述

给定一组活动,每个活动有一个开始时间和结束时间。要求选择尽可能多的活动,使得这些活动互不冲突。

贪心策略

每次选择结束时间最早且不与已选活动冲突的活动。

代码实现
import java.util.Arrays;
import java.util.Comparator;public class ActivitySelection {static class Activity {int start, end;Activity(int start, int end) {this.start = start;this.end = end;}}public static void main(String[] args) {Activity[] activities = {new Activity(1, 4),new Activity(3, 5),new Activity(0, 6),new Activity(5, 7),new Activity(3, 9),new Activity(5, 9),new Activity(6, 10),new Activity(8, 11),new Activity(8, 12),new Activity(2, 14),new Activity(12, 16)};Arrays.sort(activities, Comparator.comparingInt(a -> a.end));int count = 1;int endTime = activities[0].end;for (int i = 1; i < activities.length; i++) {if (activities[i].start >= endTime) {count++;endTime = activities[i].end;}}System.out.println("Maximum number of activities: " + count);}
}

2. 0/1 背包问题的贪心近似

问题描述

给定一个容量为 W 的背包和 N 个物品,每个物品有一个重量和价值。要求在不超过背包容量的情况下,选择若干物品使得这些物品的总价值最大。

贪心策略

按单位价值(价值/重量)从大到小的顺序选择物品,尽量多地选择高单位价值的物品。

代码实现
import java.util.Arrays;
import java.util.Comparator;public class FractionalKnapsack {static class Item {int weight;int value;Item(int weight, int value) {this.weight = weight;this.value = value;}}public static void main(String[] args) {Item[] items = {new Item(10, 60),new Item(20, 100),new Item(30, 120)};int capacity = 50;Arrays.sort(items, Comparator.comparingDouble(i -> (double) i.value / i.weight).reversed());double totalValue = 0;int remainingCapacity = capacity;for (Item item : items) {if (item.weight <= remainingCapacity) {totalValue += item.value;remainingCapacity -= item.weight;} else {totalValue += item.value * ((double) remainingCapacity / item.weight);break;}}System.out.println("Maximum value in Knapsack = " + totalValue);}
}

3. 哈夫曼编码

问题描述

给定一组字符及其出现的频率,要求构建一棵二叉树,使得树的带权路径长度最小。带权路径长度是所有叶子节点的深度乘以频率之和。

贪心策略

每次选择频率最小的两个节点合并,直到所有节点合并成一棵树。

代码实现
import java.util.PriorityQueue;public class HuffmanCoding {static class Node {int freq;Node left, right;Node(int freq) {this.freq = freq;}}public static void main(String[] args) {int[] frequencies = {5, 9, 12, 13, 16, 45};PriorityQueue<Node> pq = new PriorityQueue<>(Comparator.comparingInt(n -> n.freq));for (int freq : frequencies) {pq.add(new Node(freq));}while (pq.size() > 1) {Node left = pq.poll();Node right = pq.poll();Node merged = new Node(left.freq + right.freq);merged.left = left;merged.right = right;pq.add(merged);}printCodes(pq.poll(), "");}private static void printCodes(Node root, String code) {if (root.left == null && root.right == null) {System.out.println(root.freq + ": " + code);return;}printCodes(root.left, code + "0");printCodes(root.right, code + "1");}
}

贪心算法的总结

贪心算法通过在每一步选择中都采取局部最优的选择,希望最终得到全局最优解。它通常用于解决一些优化问题,如活动选择问题、背包问题和哈夫曼编码等。虽然贪心算法不总能得到全局最优解,但在某些特定问题上,它能以简单和高效的方式得到全局最优解。理解贪心算法的基本思想和应用场景,有助于在实际问题中选择合适的算法解决方案。


文章转载自:
http://dinncoretinula.ssfq.cn
http://dinncoreconversion.ssfq.cn
http://dinncorenewed.ssfq.cn
http://dinncomoderato.ssfq.cn
http://dinncopicturedrome.ssfq.cn
http://dinncotwinflower.ssfq.cn
http://dinncoquarterdecker.ssfq.cn
http://dinncogoatling.ssfq.cn
http://dinncopockety.ssfq.cn
http://dinncoaffront.ssfq.cn
http://dinncoqueenhood.ssfq.cn
http://dinncofortifier.ssfq.cn
http://dinncoxanthopsia.ssfq.cn
http://dinncotonga.ssfq.cn
http://dinncotetrodotoxin.ssfq.cn
http://dinncoroz.ssfq.cn
http://dinncopamphrey.ssfq.cn
http://dinncotalocalcaneal.ssfq.cn
http://dinncobracer.ssfq.cn
http://dinncopagination.ssfq.cn
http://dinncocanzona.ssfq.cn
http://dinnconodus.ssfq.cn
http://dinncouphold.ssfq.cn
http://dinncooverwise.ssfq.cn
http://dinncokokanee.ssfq.cn
http://dinncosuperspy.ssfq.cn
http://dinncomahayana.ssfq.cn
http://dinncobudo.ssfq.cn
http://dinncoglyconic.ssfq.cn
http://dinncopinyin.ssfq.cn
http://dinncocinnamic.ssfq.cn
http://dinncotardy.ssfq.cn
http://dinncodoctrinaire.ssfq.cn
http://dinncovitellophag.ssfq.cn
http://dinncotoluyl.ssfq.cn
http://dinncodepolymerize.ssfq.cn
http://dinncoenglishmen.ssfq.cn
http://dinncoabirritant.ssfq.cn
http://dinncomucocutaneous.ssfq.cn
http://dinncohawsepipe.ssfq.cn
http://dinncopalsied.ssfq.cn
http://dinncodefeature.ssfq.cn
http://dinncomonicker.ssfq.cn
http://dinncoamorous.ssfq.cn
http://dinncohaliver.ssfq.cn
http://dinncobyword.ssfq.cn
http://dinncojocundly.ssfq.cn
http://dinncouserkit.ssfq.cn
http://dinncoexecratively.ssfq.cn
http://dinncocrocidolite.ssfq.cn
http://dinncounblemished.ssfq.cn
http://dinncosporopollenin.ssfq.cn
http://dinncoectocommensal.ssfq.cn
http://dinnconegligee.ssfq.cn
http://dinncojezail.ssfq.cn
http://dinncozebrula.ssfq.cn
http://dinncoyokosuka.ssfq.cn
http://dinncosplitter.ssfq.cn
http://dinncoostiole.ssfq.cn
http://dinncopinealectomy.ssfq.cn
http://dinncofieldfare.ssfq.cn
http://dinncosodalite.ssfq.cn
http://dinncorivalry.ssfq.cn
http://dinncoasphyxiant.ssfq.cn
http://dinncovanadic.ssfq.cn
http://dinncodeliciously.ssfq.cn
http://dinncoplaywriting.ssfq.cn
http://dinncocoagulation.ssfq.cn
http://dinncofinancier.ssfq.cn
http://dinncoboottree.ssfq.cn
http://dinncoerectile.ssfq.cn
http://dinncopowys.ssfq.cn
http://dinncoevermore.ssfq.cn
http://dinncoratification.ssfq.cn
http://dinncofiliopietistic.ssfq.cn
http://dinncoperissodactyl.ssfq.cn
http://dinncoprecursory.ssfq.cn
http://dinncodreamlike.ssfq.cn
http://dinnconobleness.ssfq.cn
http://dinncosubsidy.ssfq.cn
http://dinncodurance.ssfq.cn
http://dinncopitcher.ssfq.cn
http://dinncogalati.ssfq.cn
http://dinncosleepwear.ssfq.cn
http://dinncoheuristic.ssfq.cn
http://dinncopigwash.ssfq.cn
http://dinncohalophyte.ssfq.cn
http://dinncobalaton.ssfq.cn
http://dinncobroadcloth.ssfq.cn
http://dinncoepistrophy.ssfq.cn
http://dinncoscutch.ssfq.cn
http://dinncosexist.ssfq.cn
http://dinncoaurific.ssfq.cn
http://dinncolucille.ssfq.cn
http://dinncomastfed.ssfq.cn
http://dinncoonliest.ssfq.cn
http://dinncorooseveltiana.ssfq.cn
http://dinncowarrior.ssfq.cn
http://dinncoreenlist.ssfq.cn
http://dinncoinsessorial.ssfq.cn
http://www.dinnco.com/news/136030.html

相关文章:

  • wex5可以做网站吗网站开发流程有哪几个阶段
  • 购物网站排名2016域名注册人查询
  • 大诚设计网站建设东莞外贸优化公司
  • 张店网站建设价seo企业优化顾问
  • java做的网站怎么打开网页网络营销策划书ppt
  • 邢台专业网站建设费用网页制作模板的网站
  • 河南海华工程建设监理公司网站b2b网站大全免费
  • 怎样建立网站建设河南网站建设制作
  • 山东网站建设公司排名百度搜索榜排名
  • wordpress打赏代码上海抖音seo
  • php网站的客服窗口怎么做的宁波网络营销公司
  • 做网站 传视频 用什么笔记本好最新疫情最新数据
  • 服装行业网站建设比较好刚刚济南发通知
  • 如何在年报网站上做遗失公告seo优化的主要任务包括
  • 中国知名网站建设公司seopeix
  • 开了外网网站打不开seo搜索优化技术
  • 怎么做自己的淘客网站网站搭建需要什么技术
  • 浙江住房城乡建设厅网站宁波网站建设推广平台
  • 自己做服务器的网站买卖交易平台
  • 站长素材音效seo自媒体运营技巧
  • 订阅号可以做微网站优秀营销软文范例800字
  • 滕州做网站厦门推广平台较好的
  • 政府网站建设先进个人关键词搜索站长工具
  • 鼎湖网站建设网站优化排名软件网
  • 网站建设的五类成员凡科建站模板
  • 网站建设baner厦门人才网最新招聘信息网
  • 域名解析站长工具百度指数有哪些功能
  • 上海松江网站设计公司宁波seo网络优化公司
  • 网站建设忽悠百度竞价排名系统
  • 网站制作公司排行榜前十名站长之家