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

磁业 东莞网站建设windows优化大师和鲁大师

磁业 东莞网站建设,windows优化大师和鲁大师,网站后台改成只有一个管理员登陆,游戏网站建设系统介绍总有人在小白面前说:我是搞算法的,不是码农。又或者在想要进阶的时候,有人问你:你懂算法吗? 所有,算法到底是什么? 从目的性来说:它是计算方法,用来达到自己目的的方式…

总有人在小白面前说:我是搞算法的,不是码农。又或者在想要进阶的时候,有人问你:你懂算法吗?

所有,算法到底是什么?

从目的性来说:它是计算方法,用来达到自己目的的方式。

直白的说:算法 = 数学 + 逻辑 的计算机表达。还不够简单?别急,算法就是通过代码以除去穷举之外的编写逻辑去编写你的代码。

因为他所包含涉及到了很多计算机本行业之外的其他部分,所以算法实际代表着隐形含义:你有更广泛的知识面。这方面的展开不在此阐述。

让我们回归本次的主体:贪婪算法。

贪心算法是一种基于贪心策略的算法,它在每一步选择中都采取当前状态下最优的选择,从而希望最终能够得到全局最优解。

注意:这里是期望最优,而非必定最优。也就是说存在期望落空的情况。而在这种情况下,贪心算法,并非最优解。
但是,贪心,他快啊。

下面是一个简单的贪心算法示例,用于解决背包问题:

#include <iostream> // 引入iostream库,用于输入输出
#include <algorithm> // 引入algorithm库,用于排序
using namespace std; // 使用std命名空间struct Item { // 定义一个结构体Item,包含每个物品的价值和重量int value;int weight;
};bool cmp(Item a, Item b) { // 定义一个比较函数cmp,用于比较每个物品的价值和重量比率double r1 = (double)a.value / a.weight; // 计算物品a的价值和重量比率double r2 = (double)b.value / b.weight; // 计算物品b的价值和重量比率return r1 > r2; // 返回比率较大的物品
}double fractionalKnapsack(int W, Item arr[], int n) { // 定义一个函数fractionalKnapsack,用于解决背包问题sort(arr, arr + n, cmp); // 对物品按照价值和重量比率进行排序int curWeight = 0; // 初始化当前背包重量为0double finalValue = 0.0; // 初始化最终价值为0for (int i = 0; i < n; i++) { // 遍历每个物品if (curWeight + arr[i].weight <= W) { // 如果当前背包重量加上物品重量小于等于背包容量curWeight += arr[i].weight; // 将物品放入背包中finalValue += arr[i].value; // 增加最终价值} else { // 如果当前背包重量加上物品重量大于背包容量int remain = W - curWeight; // 计算剩余空间finalValue += arr[i].value * ((double) remain / arr[i].weight); // 将物品分成一部分放入背包中break; // 结束循环}}return finalValue; // 返回最终价值
}int main() { // 主函数int W = 50; // 定义背包容量WItem arr[] = {{60, 10}, {100, 20}, {120, 30}}; // 定义物品数组arrint n = sizeof(arr) / sizeof(arr[0]); // 计算物品数量cout << "Maximum value we can obtain = " // 输出提示信息<< fractionalKnapsack(W, arr, n); // 调用fractionalKnapsack函数计算最大价值并输出return 0; // 返回0表示程序正常结束
}

在这个示例中,我们定义了一个Item结构体,其中包含每个物品的价值和重量。我们还定义了一个cmp函数,用于比较每个物品的价值和重量比率,以便在排序时使用。

fractionalKnapsack函数是我们的贪心算法实现。我们首先按照价值和重量比率对物品进行排序,然后从最高比率的物品开始,将尽可能多的物品放入背包中,直到背包装满为止。如果我们无法将整个物品放入背包中,则将其分成一部分,并将其放入背包中。

在main函数中,我们定义了一个背包容量W和一组物品,然后调用fractionalKnapsack函数来计算我们可以获得的最大价值。

http://www.yidumall.com/news/91142.html

相关文章:

  • 个人域名做企业网站北京互联网公司
  • 深圳做网站推广优化谷歌seo排名工具
  • 陶瓷网站制作网页设计与制作期末作品
  • 做的最好的美女视频网站有哪些线上推广具体应该怎么做
  • 学做ppt的网站网站域名费一年多少钱
  • 建设校园网站wbs计划网站优化关键词公司
  • 河南睢县筑宇建设网站营销推广方案
  • 顺义网站制作今日头条新闻最新事件
  • 绵阳住房和城乡建设厅网站江门网站定制多少钱
  • 舟山做网站公司推广链接
  • 小程序哪家公司代理如何优化网站排名
  • 自己写的网站怎么发布网游推广员
  • php开发手机端网站开发北京seo推广系统
  • 大连网站建设怎么做长沙网络公司最新消息
  • 做信誉认证对网站有什么好处公司员工培训内容有哪些
  • 怎么做html网站cba目前排行
  • 广告代运营公司专业搜索引擎seo公司
  • 广告投放的理解莱阳seo排名
  • 青岛网站建设方案书产品线下推广方式都有哪些
  • 建设公司内网网站的意义国内做seo最好公司
  • 湖北聚四方建设有限公司网站大连最好的做网站的公司
  • 新手学网站建设解疑与技巧1200例百度店铺怎么入驻
  • 京东商城网站风格微指数查询入口
  • 提供手机网站怎么做企业网站seo排名
  • 找什么样的公司帮助做网站福州网站排名
  • 网网站站建建设设中山口碑seo推广
  • 有关风水的网站建设栏目app网站
  • 网站搭建素材廊坊seo整站优化软件
  • 做高清图的网站网络新闻发布平台
  • 美国域名注册网站群发软件