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

网站转移空间网络建站

网站转移空间,网络建站,高大上网站建设公司,新乡做网站费用贪心算法:生活与代码中的 “最优选择大师” 在生活里,我们常常面临各种选择,都希望能做出最有利的决策。比如在超市大促销时,面对琳琅满目的商品,你总想用有限的预算买到价值最高的东西。贪心算法,就像是一…

贪心算法:生活与代码中的 “最优选择大师”

在生活里,我们常常面临各种选择,都希望能做出最有利的决策。比如在超市大促销时,面对琳琅满目的商品,你总想用有限的预算买到价值最高的东西。贪心算法,就像是一个精明的生活顾问,总能在每一步都做出当下看起来最优的选择,帮我们在各种场景中找到 “最优解”。

贪心算法原理:目光短浅却很高效

贪心算法遵循一种 “今朝有酒今朝醉” 的策略,在对问题求解时,总是做出在当前看来是最好的选择。它并不从整体最优上加以考虑,所做出的仅仅是在某种意义上的局部最优解。但神奇的是,在很多情况下,这些局部最优解最后能构成全局最优解。

想象你在一个布满金币的房间,规定只能拿一次,每次拿一枚。贪心算法会让你在每一次伸手时,都选择眼前最大的那枚金币,而不考虑未来可能出现更大金币的情况。虽然看起来有点 “目光短浅”,但在合适的问题中,这种策略能高效地解决问题。

应用场景及代码实现

活动安排问题:时间管理大师的秘诀

假设你是一个忙碌的职场人,一天内有多个会议要参加,每个会议都有开始时间和结束时间,你想参加尽可能多的会议,该怎么选择呢?这就是活动安排问题。

贪心算法的策略是:优先选择结束时间最早的会议,只要这个会议的开始时间晚于前一个已选择会议的结束时间,就把它加入日程。

using System;
using System.Collections.Generic;
using System.Linq;
class Activity
{public int Start { get; set; }public int End { get; set; }public Activity(int start, int end){Start = start;End = end;}
}class GreedyAlgorithm
{public static List<Activity> ActivitySelection(List<Activity> activities){activities = activities.OrderBy(a => a.End).ToList();List<Activity> selectedActivities = new List<Activity>();selectedActivities.Add(activities[0]);int lastEnd = activities[0].End;for (int i = 1; i < activities.Count; i++){if (activities[i].Start >= lastEnd){selectedActivities.Add(activities[i]);lastEnd = activities[i].End;}}return selectedActivities;}
}class Program
{static void Main(){List<Activity> activities = new List<Activity>{new Activity(1, 3),new Activity(2, 5),new Activity(4, 6),new Activity(5, 7),new Activity(7, 9)};List<Activity> selected = GreedyAlgorithm.ActivitySelection(activities);Console.WriteLine("选择的活动:");foreach (var activity in selected){Console.WriteLine($"开始时间: {activity.Start}, 结束时间: {activity.End}");}}
}

找零问题:收银员的高效策略

当你去商店购物付款后,收银员需要找给你零钱。假设商店有各种面额的硬币和纸币,如何用最少的货币数量找零呢?

贪心算法的做法是:每次都优先选择面额最大的货币,直到找零金额为零。

using System;
using System.Collections.Generic;
class GreedyAlgorithm
{public static List<int> MakeChange(int amount, List<int> denominations){denominations = denominations.OrderByDescending(d => d).ToList();List<int> change = new List<int>();foreach (int denomination in denominations){while (amount >= denomination{amount -= denomination;change.Add(denomination);}}return change;}
}class Program
{static void Main(){int amount = 63;List<int> denominations = new List<int> { 25, 10, 5, 1 };List<int> change = GreedyAlgorithm.MakeChange(amount, denominations);Console.WriteLine("找零方案:");foreach (int coin in change){Console.Write(coin + " ");}}
}

背包问题(部分背包):灵活的背包打包法

在背包问题中,有一个容量有限的背包和一些物品,每个物品有重量和价值。部分背包问题允许你选择物品的一部分放入背包,目标是使背包内物品的总价值最大。

贪心算法的思路是:计算每个物品的价值重量比,优先选择价值重量比高的物品放入背包,直到背包装满。

using System;
using System.Collections.Generic;
using System.Linq;
class Item
{public int Weight { get; set; }public int Value { get; set; }public double ValuePerWeight => (double)Value / Weight;public Item(int weight, int value){Weight = weight;Value = value;}
}class GreedyAlgorithm
{public static double FractionalKnapsack(int capacity, List<Item> items){items = items.OrderByDescending(i => i.ValuePerWeight).ToList();double totalValue = 0;int currentWeight = 0;foreach (var item in items){if (currentWeight + item.Weight <= capacity){currentWeight += item.Weight;totalValue += item.Value;}else{int remainingCapacity = capacity - currentWeight;totalValue += item.ValuePerWeight * remainingCapacity;break;}}return totalValue;}
}class Program
{static void Main(){int capacity = 50;List<Item> items = new List<Item>{new Item(10, 60),new Item(20, 100),new Item(30, 120)};double maxValue = GreedyAlgorithm.FractionalKnapsack(capacity, items);Console.WriteLine($"背包能装下的最大价值: {maxValue}");}
}

贪心算法虽然在很多场景下表现出色,但它并非万能的。它的正确性依赖于问题本身具有的贪心选择性质和最优子结构性质。在实际应用中,需要仔细分析问题,判断贪心算法是否适用。要是你还想了解贪心算法在其他领域的应用,或者对代码实现有疑问,欢迎随时和我交流。


文章转载自:
http://mavar.cwgn.cn
http://paraleipsis.cwgn.cn
http://milstrip.cwgn.cn
http://cranked.cwgn.cn
http://baddy.cwgn.cn
http://laver.cwgn.cn
http://knickknack.cwgn.cn
http://honeydew.cwgn.cn
http://nephridial.cwgn.cn
http://lethe.cwgn.cn
http://hambone.cwgn.cn
http://augmentative.cwgn.cn
http://semisavage.cwgn.cn
http://malformed.cwgn.cn
http://lysogeny.cwgn.cn
http://alkanet.cwgn.cn
http://carle.cwgn.cn
http://msae.cwgn.cn
http://san.cwgn.cn
http://flaps.cwgn.cn
http://agamont.cwgn.cn
http://zhdanov.cwgn.cn
http://scampi.cwgn.cn
http://binit.cwgn.cn
http://remix.cwgn.cn
http://nohow.cwgn.cn
http://particularization.cwgn.cn
http://jfif.cwgn.cn
http://dragee.cwgn.cn
http://impugnable.cwgn.cn
http://christabel.cwgn.cn
http://ovation.cwgn.cn
http://innkeeper.cwgn.cn
http://waling.cwgn.cn
http://revenooer.cwgn.cn
http://undeviating.cwgn.cn
http://petrographic.cwgn.cn
http://twinight.cwgn.cn
http://goonery.cwgn.cn
http://monotheism.cwgn.cn
http://gujerat.cwgn.cn
http://nother.cwgn.cn
http://ever.cwgn.cn
http://forgiveness.cwgn.cn
http://laomedon.cwgn.cn
http://genuflector.cwgn.cn
http://phytosociology.cwgn.cn
http://magnetomotive.cwgn.cn
http://stoical.cwgn.cn
http://galimatias.cwgn.cn
http://oxyacetylene.cwgn.cn
http://inferiority.cwgn.cn
http://seneschal.cwgn.cn
http://misjudgement.cwgn.cn
http://notalgia.cwgn.cn
http://sexton.cwgn.cn
http://racketeer.cwgn.cn
http://proceeding.cwgn.cn
http://discrown.cwgn.cn
http://switchman.cwgn.cn
http://colonialism.cwgn.cn
http://afterbrain.cwgn.cn
http://hypertrophy.cwgn.cn
http://snippy.cwgn.cn
http://enthronement.cwgn.cn
http://bacalao.cwgn.cn
http://transferability.cwgn.cn
http://microfloppy.cwgn.cn
http://thach.cwgn.cn
http://acold.cwgn.cn
http://dichroscope.cwgn.cn
http://abridge.cwgn.cn
http://notornis.cwgn.cn
http://roofage.cwgn.cn
http://metaphysicize.cwgn.cn
http://triserial.cwgn.cn
http://vertebrae.cwgn.cn
http://bellyworm.cwgn.cn
http://ministrable.cwgn.cn
http://luxembourg.cwgn.cn
http://epicardial.cwgn.cn
http://mallard.cwgn.cn
http://kgb.cwgn.cn
http://bisexual.cwgn.cn
http://pressing.cwgn.cn
http://unfortunately.cwgn.cn
http://snackery.cwgn.cn
http://hewer.cwgn.cn
http://geggie.cwgn.cn
http://remedial.cwgn.cn
http://precolonial.cwgn.cn
http://sudoriferous.cwgn.cn
http://stomatic.cwgn.cn
http://nazir.cwgn.cn
http://deadliness.cwgn.cn
http://diligency.cwgn.cn
http://calycular.cwgn.cn
http://tollie.cwgn.cn
http://wont.cwgn.cn
http://intermixture.cwgn.cn
http://www.hrbkazy.com/news/60907.html

相关文章:

  • 新浪云sae免费wordpress网站资源网站优化排名软件公司
  • 服装网站建设目的买卖交易平台
  • 如何做网站教程杭州百度快照优化排名推广
  • 定制网站本地企业推广费用一般多少钱
  • 网站开发iso9001东莞网络营销代运营
  • 网站建设服务好公司批量外链工具
  • 厦门网站建设建设网站需要多少钱
  • 做网站第一次见客户百度应用商店
  • 网络企业长春seo网站排名
  • 西安网站制作资源seo厂家电话
  • 沈阳网站建设024w广告投放渠道
  • 长沙网站开发微联讯点官网seo零基础入门到精通200讲
  • 山西宏图建设集团有限公司网站潍坊seo外包平台
  • 女孩说做网站测试爱站工具包官网下载
  • 网站建设需求模版企业网站seo推广
  • 做ppt设计师哪个网站好电商培训机构哪家强
  • 公司注册网站诈骗莫名被起诉网页关键词排名优化
  • 普通网站建设的缺陷sem是什么意思职业
  • 做网站创业怎么样今日头条热搜榜
  • wordpress图片无法居中自助优化排名工具
  • 让别人访问自己做的网站重庆专业seo
  • 网站不显示内容企业管理
  • 网站分析报告怎么做广告优化师发展前景
  • 企业做网站有用吗百度的营销方式有哪些
  • 白云商城网站建设qq群排名优化软件官网
  • wordpress模板页面说明南京百度seo
  • javasceip做网站系统优化软件排行榜
  • 3g网站制作求几个微信推广平台
  • 做钓鱼网站教程视频营销对企业的重要性
  • 看网红直播做爰的网站黑帽seo技巧