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

哈尔滨网站制作建设网站建设合作签约报道

哈尔滨网站制作建设,网站建设合作签约报道,三屏合一网站建设,互联网服务行业有哪些工作贪心算法#xff08;Greedy Algorithm#xff09;是一种在每一步选择中都采取当前最优解的算法#xff0c;希望通过局部最优解的选择#xff0c;最终得到全局最优解。它常用于解决最优化问题#xff0c;如最小生成树、最短路径等。本文将从理论到实践#xff0c;逐步引导… 贪心算法Greedy Algorithm是一种在每一步选择中都采取当前最优解的算法希望通过局部最优解的选择最终得到全局最优解。它常用于解决最优化问题如最小生成树、最短路径等。本文将从理论到实践逐步引导初学者掌握贪心算法在 C 语言中的实现。 什么是贪心算法 贪心算法的核心是 贪心选择性质 和 最优子结构 贪心选择性质每次选择当前看起来最优的解。最优子结构问题的最优解可以通过子问题的最优解合并得到。 举个例子假如你需要用最少的硬币找零每次选择最大面值的硬币就是贪心的思路。 贪心算法的适用场景 贪心算法并不总是能找到全局最优解适用场景包括 最小生成树问题如 Prim、Kruskal 算法活动选择问题最短路径问题如 Dijkstra 算法虽然不是纯贪心但核心思想类似 贪心算法的实现步骤 以下是实现贪心算法的通用步骤 分析问题是否满足贪心选择性质和最优子结构。排序根据特定规则对问题的元素进行排序通常需要一个比较函数。逐步选择从头开始选择符合条件的元素直到满足目标。验证结果确保结果满足问题的要求。 示例活动选择问题 问题描述 给定一组活动每个活动有一个开始时间和结束时间。你需要选择尽可能多的活动且这些活动之间不能重叠。 贪心思路 按活动的结束时间升序排序结束得越早留给后续活动的时间越多。依次选择每个活动如果它的开始时间不早于上一个已选活动的结束时间则选择它。 C语言实现 以下是活动选择问题的 C 语言实现代码 #include stdio.h #include stdlib.h// 定义活动结构体 typedef struct {int start;int end; } Activity;// 比较函数用于按结束时间排序 int compare(const void *a, const void *b) {Activity *activity1 (Activity *)a;Activity *activity2 (Activity *)b;return activity1-end - activity2-end; }// 贪心算法选择活动 void selectActivities(Activity activities[], int n) {// 按结束时间排序qsort(activities, n, sizeof(Activity), compare);printf(选择的活动如下\n);int lastEndTime 0;for (int i 0; i n; i) {if (activities[i].start lastEndTime) {printf(活动[%d]: 开始时间 %d, 结束时间 %d\n, i 1, activities[i].start, activities[i].end);lastEndTime activities[i].end;}} }int main() {Activity activities[] {{1, 3},{2, 5},{4, 6},{6, 7},{5, 9},{8, 9}};int n sizeof(activities) / sizeof(activities[0]);selectActivities(activities, n);return 0; }代码分析 数据结构用 struct 定义活动的开始和结束时间。排序用 qsort 对活动按结束时间升序排列。贪心选择逐一遍历排序后的活动如果活动的开始时间不与上一次选择的活动冲突就将其加入结果。 输入输出示例 输入活动 活动1开始时间1结束时间3活动2开始时间2结束时间5活动3开始时间4结束时间6活动4开始时间6结束时间7活动5开始时间5结束时间9活动6开始时间8结束时间9 输出活动 选择的活动如下 活动[1]: 开始时间 1, 结束时间 3 活动[3]: 开始时间 4, 结束时间 6 活动[4]: 开始时间 6, 结束时间 7 活动[6]: 开始时间 8, 结束时间 9总结 贪心算法的核心是找到局部最优解逐步逼近全局最优解。关键在于分析问题是否适合贪心策略排序规则是实现的基础。通过活动选择问题初学者可以掌握贪心算法的基本思想。 尝试多练习一些经典的贪心问题如背包问题、最短路径问题等你会发现贪心算法是一种高效且优雅的解决问题方法
http://www.w-s-a.com/news/358670/

相关文章:

  • 地方门户类网站产品推广惠州市中国建设银行网站
  • 网站建设公司推荐5788移动版wordpress
  • 产品类型 速成网站淘宝怎么建立自己的网站
  • 南京优化网站建设公司的网站怎么建设
  • 做网站开发能挣钱月嫂云商城网站建设
  • 包装网站模板新手入门网站建设
  • 做网站的天津哪个公司做网站
  • 网站建设摊销时间是多久微信官网免费下载安装
  • 网站解析是做a记录吗群晖 wordpress 阿里云
  • 涉县移动网站建设公司常州做网站的公司有哪些
  • 网站批量创建程序中国十大人力资源公司
  • 菏泽网站建设 梧桐树二次开发创造作用
  • 维护网站费用长沙广告设计公司排名
  • 模仿别人网站侵权wordpress 修改链接失效
  • wordpress文章设置受密码保护南宁网站优化公司哪家好
  • 网站开发工程师介绍设计类的网站
  • 嘉兴seo网站推广中山建网站多少钱
  • 高端汽车网站建设帮别人做网站自己为什么会被抓
  • 网站开发实验室建设方案wordpress 主题丢失
  • 珠宝网站建设平台分析报告郑州最新发布
  • 世界杯最新排名泉州seo网站关键词优
  • 广州公司网站提供如何推广新品
  • 网站建设如何描述沈阳网站建设推广平台
  • 用dw制作个介绍家乡网站学生个人简历
  • 建设银行企业网站访问不了wordpress搬到谷歌服务器
  • 网站建设与网站优化销售别墅庭院园林景观设计公司
  • 沈阳红方城网站建设专业的微网站哪家好
  • 医院网站asp东营信息发布平台
  • 网站全站建设开题报告范文南京本地网站
  • 网站漏洞扫描工具wampserver集成环境搭建了一个织梦cms网站