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

网站建设报价怎么差别那么大深圳开发公司网站建设

网站建设报价怎么差别那么大,深圳开发公司网站建设,有道 wordpress,艺术学院网站建设管理办法#x1f525; 个人主页#xff1a;空白诗 文章目录 一、贪心算法的基本概念贪心算法的适用场景 二、经典问题及其 JavaScript 实现1. 零钱兑换问题2. 活动选择问题3. 分配问题 三、贪心算法的应用四、总结 贪心算法#xff08;Greedy Algorithm#xff09;是一种逐步构建解… 个人主页空白诗 文章目录 一、贪心算法的基本概念贪心算法的适用场景 二、经典问题及其 JavaScript 实现1. 零钱兑换问题2. 活动选择问题3. 分配问题 三、贪心算法的应用四、总结 贪心算法Greedy Algorithm是一种逐步构建解决方案的方法。在每一步选择中贪心算法总是选择在当前看来最优的选择希望通过这些局部最优选择最终能构建出全局最优解。贪心算法的特点是简单高效但它并不总能保证得到最优解。 一、贪心算法的基本概念 贪心算法的核心思想是每一步都选择当前最优的决策不考虑未来的影响。贪心算法的基本步骤通常包括以下几个 选择选择当前最优的选项。验证验证当前选择是否可行通常包括是否满足约束条件。构建将当前选择加入到最终的解决方案中。 贪心算法的适用场景 贪心算法通常适用于以下场景 最小生成树如Kruskal和Prim算法。最短路径问题如Dijkstra算法。区间调度问题如选择最多的不重叠区间。 二、经典问题及其 JavaScript 实现 1. 零钱兑换问题 假设我们有几种不同面值的硬币1元、2元和5元。我们希望用最少数量的硬币来凑出某个金额。 问题描述给定不同面值的硬币和一个总金额求最少数量的硬币。 /*** 求最少数量的硬币组合* param {number[]} coins - 硬币面值数组* param {number} amount - 总金额* returns {number} - 最少硬币数量如果无法凑出总金额返回 -1*/ function coinChange(coins, amount) {// 硬币面值从大到小排序coins.sort((a, b) b - a);let count 0;for (let coin of coins) {// 尽量使用当前面值最大的硬币let num Math.floor(amount / coin);count num;amount - num * coin;// 如果总金额为 0直接返回if (amount 0) return count;}// 如果无法凑出总金额返回 -1return -1; }// 示例用1元、2元和5元凑出11元的最少硬币数量 console.log(coinChange([1, 2, 5], 11)); // 输出 3 (5 5 1)2. 活动选择问题 假设我们有一组活动每个活动有开始时间和结束时间。我们希望选择尽可能多的活动使得它们互不重叠。 问题描述给定一组活动选择尽可能多的不重叠活动。 /*** 求最多的不重叠活动数量* param {number[][]} activities - 活动的开始和结束时间数组* returns {number} - 最多不重叠活动数量*/ function maxActivities(activities) {// 按照活动结束时间排序activities.sort((a, b) a[1] - b[1]);let count 0;let end 0;for (let activity of activities) {if (activity[0] end) {// 选择当前活动count;end activity[1];}}return count; }// 示例选择最多的不重叠活动 console.log(maxActivities([[1, 3], [2, 4], [3, 5], [0, 6], [5, 7], [8, 9], [5, 9]])); // 输出 4 (选择活动 [1, 3], [3, 5], [5, 7], [8, 9])3. 分配问题 假设我们有一组任务和一组工人每个工人能完成的任务数量有限。我们希望尽可能多地完成任务。 问题描述给定任务和工人的能力尽可能多地分配任务。 /*** 求最多分配任务数量* param {number[]} tasks - 任务难度数组* param {number[]} workers - 工人能力数组* returns {number} - 最多分配任务数量*/ function maxTaskAssignment(tasks, workers) {// 任务和工人分别排序tasks.sort((a, b) a - b);workers.sort((a, b) a - b);let taskIndex 0;let workerIndex 0;let count 0;while (taskIndex tasks.length workerIndex workers.length) {if (workers[workerIndex] tasks[taskIndex]) {// 分配任务给当前工人count;taskIndex;}workerIndex;}return count; }// 示例尽可能多地分配任务 console.log(maxTaskAssignment([1, 2, 3], [3, 2, 1])); // 输出 3 (每个工人完成一个任务)三、贪心算法的应用 贪心算法在实际开发中有广泛的应用常见的应用场景包括 图算法最小生成树、最短路径问题。活动选择选择最多的不重叠活动。任务分配将任务尽可能多地分配给工人。区间覆盖用最少数量的区间覆盖所有点。 四、总结 贪心算法是一种通过局部最优选择构建全局最优解的方法。虽然它不总能保证得到最优解但在许多实际问题中表现良好。通过理解和应用贪心算法我们可以有效地解决许多复杂的优化问题。希望通过本文的介绍大家能够更好地理解和应用贪心算法。
http://www.w-s-a.com/news/763605/

相关文章:

  • 京东商城网站建设方案书建设网站平台
  • 如何查询网站建设时间赤峰建网站的电话
  • 域名购买网站有哪些公司企业邮箱管理制度
  • 阿里云服务起做网站抖音seo推荐算法
  • 免费建站工具机械网站建设公司推荐
  • 怎么用自己主机做网站_如何做简单的网站
  • 阿里巴巴国际站跨境电商平台为什么有点网站打不开
  • 甘肃做网站哪家好网站开发 都包含什么语言
  • 合肥哪里有做网站的广告型网站怎么做的
  • 用dede做的网站国外免费空间哪个好
  • dede个人网站模板企点
  • 韩雪个人网站wordpress 怎么添加网站备案信息
  • 个人网站可以做地方技能培训班
  • 品牌营销策略研究无锡 网站 seo 优化
  • 在线推广网站的方法有哪些织梦网站首页目录在哪
  • 做爰全过程免费网站的视频做网站的几个步骤
  • cpa建站教程青海西宁制作网站企业
  • 简易的在线数据库网站模板网站多服务器建设
  • 成都seo网站建设花店网页模板html
  • 义乌市网站制作网络营销策略名词解释
  • 高端品牌网站建设图片wordpress 资源站主题
  • 上海建设工程监督总站网站电商网站wordpress
  • 网站建设 医院菏泽网站建设熊掌号
  • 成都网站建设企业预约网免费建站流程
  • 网站建设胶州中国政务网站建设绩效评估
  • 合肥知名网站推广胶东国际机场建设有限公司网站
  • asp.ney旅游信息网站下载 简洁濮阳微信网站开发
  • 建设网站专业怎么上传网站程序到空间
  • 县城乡建设局网站微商城小程序哪个好
  • 博物馆门户网站建设优势重庆seo排名系统运营