【趣学算法】贪心算法、海盗古董装船问题

14天阅读挑战赛
努力是为了不平庸~
算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!

文章目录

  • 贪心本质
    • 贪心选择
    • 最优子结构
  • 最优装载问题
  • sort函数
  • 总结

贪心本质

一个贪心算法总是做出当前最好的选择,也就是说,它期望通过局部最优选择得到全局最优的解决方案。——《算法导论》

贪心选择

贪心选择是指原问题的整体最优解可以通过一系列局部最优的选择得到,也就是先做出当前最优的选择,将原问题变为一个相似却规模更小的子问题,而后的每一步都是当前最优的选择。这种选择依赖于已做出的选择,但不依赖于未作出的选择。

最优子结构

最优子结构是指原问题的最优解包含子问题的最优解。如果原问题的最优解和子问题的最优解没有关系,则求解子问题没有意义,无法采用贪心算法。

最优装载问题

海盗们截获一艘装满各种各样古董的货船,每一件古董都价值连城,但一旦打碎就会失去其原有的价值。海盗船虽然足够大,但载重量是有限的,海盗船的载重量为W,每件古董的重量为wi,如何才能把尽可能多的古董装上海盗船呢?

思路:
1、用一维数组存储古董的重量。
2、对古董的重量进行排序。
3、按照贪心策略找出最优解。
代码:

#include <iostream>
#include <algorithm>
using namespace std;
const int N = 100;
double w[N];
int main()
{double c;int n;cout << "请输入载重量C及古董个数:" << endl;cin >> c >> n;cout << "请输入每个古董的重量,用空格分开:" << endl;for (int i = 0; i < n; i++) {cin >> w[i];}sort(w, w + n);double tmp = 0.0;int ans = 0;for (int i = 0; i < n; i++) {tmp += w[i];if (tmp <= c) {ans ++;} else {break;}}cout << "能装入的古董最大数为Ans=";cout << ans << endl;return 0;
}

在这里插入图片描述

sort函数

为了使用sort函数,需要引入头文件:
#include< algorithm >

sort(begin,end)
参数begin和end用来指定范围,分别表示待排序数组的首地址和尾地址。

sort函数默认进行升序排列

#include<cstdio>
#include<iostream>
#include<algorithm>
int main(){int a[10] = {3,2,6,8,12,89,56,32,99,78},i;for(i=0;i<10;i++){cout<<a[i]<<" ";cout<<endl;}sort(a,a+10);for(i = 0;i<10;i++){cout<<a[i]<<" ";
}return 0;
}

总结

以上就是今天的学习啦~
咱们下期再见~
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36051.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《趣学算法》读书笔记

内容摘要 主要介绍我对本书的一些自我感觉比较亮点地方的总结。 第一章 算法 算法有两条线索&#xff0c;数据结构、算法策略。 算法特性 时间复杂度 常见算法时间复杂度 时间复杂度的渐进上界 渐进精确界 用渐进上界和渐进下界逼近&#xff0c; 空间复杂度 递归 递归包…

【趣学算法】一棋盘的麦子

14天阅读挑战赛努力是为了不平庸~ 算法学习有些时候是枯燥的&#xff0c;这一次&#xff0c;让我们先人一步&#xff0c;趣学算法&#xff01; 案例背景 有一个古老的传说&#xff0c;一位国王的女儿不幸落水&#xff0c;水中有很多鳄鱼&#xff0c;国王情急之下下令&#xff…

【算法】看看《趣学算法》里面介绍如何学习算法的

14天阅读挑战赛 如何学习算法的 算法为什么难学算法面临的困难是什么&#xff1f;趣学算法告诉我们如何学习算法 最近入手一本《趣学算法》这本书&#xff0c;感觉收获颇多。里面有这样的一则类容给大家介绍一下&#xff1a; 地址的链接&#xff1a;趣学算法&#xff08;第2版…

趣学算法(2)

14天阅读挑战赛 目录 前言一 几类时间复杂度二 兔子数列1.问题分析2.方法13.方法24.方法3 最后 前言 这篇文章是《趣学算法》的读书笔记&#xff0c;也对数据结构与算法的初步介绍&#xff0c;阅读这篇文章&#xff0c;我会带你改进一个算法。 一 几类时间复杂度 常见的算法时…

趣学算法14天阅读|Day2

14天阅读挑战赛 文章目录 前言什么是算法&#xff1f;算法复杂度如何评定好算法案例案例一&#xff1a;棋盘的麦子案例二&#xff1a;兔子数列 总结 前言 &#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端中级…

Go C 编程 第9课 放飞汽球(魔法学院的奇幻之旅 Go C编程绘图)

Goc编程第八课 Goc编程第八课_哔哩哔哩_bilibili Goc编程第九课 Goc编程第九课_哔哩哔哩_bilibili 59.实心椭圆 (魔法学院第9课) 难度&#xff1a;1 登录 60.双色椭圆 (魔法学院第9课) 难度&#xff1a;1 登录 61.气球串 (魔法学院第9课) 登录 62.同心圆环 (魔法学院第9课…

趣学算法14天阅读|Day1

14天阅读挑战赛 文章目录 前言编写博文背景学习算法的好处常见的招聘要求如何高效学习算法学习算法方式如何进行刷题训练如何进行算法面试总结 前言 &#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端中级工程…

青少年趣味编程社区

近年来&#xff0c;在政策推动和市场需求增长下&#xff0c;STEAM教育与科技的结合应用正如火如荼地进行&#xff0c;无论是新型的科技元件、教育机器人或3D打印技术等&#xff0c;格物斯坦表示&#xff1a;无人机同样也是。根据相关机构预测&#xff0c;国内STEAM教育行业未来…

趣学算法:贪心算法

14天阅读挑战赛 一、算法知识点 贪心算法是“活在当下&#xff0c;看清楚眼前”的方法。贪心算法从问题的初始解开始&#xff0c;一步一步地做出当前的最好选择&#xff0c;逐步逼近最优解&#xff0c;从而尽可能地得到最优解&#xff0c;即使达不到最优解&#xff0c;也可以得…

湖南码趣教育python怎么样,湖南码趣教育python接单

湖南码趣教育科技有限公司怎么样&#xff1f;Python编程课6888值不值得报&#xff1f; 湖南码趣教育科技有限公司还可以&#xff0c;学习少儿编程更推荐选择童程童美&#xff0c;该机构线上开设小班直播课&#xff0c;真人老师互动教学&#xff0c;激发孩子兴趣&#xff0c;培…

带你趣学算法

14天阅读挑战赛 目录 前言一 什么是好算法&#xff1f;1.1算法对比1.2算法的特性1.3好算法的标准 二 复杂度2.1时间复杂度&#xff08;1&#xff09;定义&#xff08;2&#xff09;如何计算 2.2空间复杂度&#xff08;1&#xff09;定义&#xff08;2&#xff09;如何计算 最后…

畅聊趣坊项目测试报告

文章目录 项目背景项目功能测试计划与设计功能测试自动化测试 测试结果功能测试结果UI自动化测试结果 项目背景 在浏览网站时&#xff0c;发现好多网站开放出聊天的窗口&#xff0c;我们一发送消息就会收到一条消息&#xff0c;好奇这个功能是怎么实现的&#xff0c;最后查阅资…

少儿编程之旅 趣学Python,小学生python趣味编程PPT

中小学生如何学习Python编程&#xff1f; 一、中小学生接触电脑的时间很少&#xff0c;所以要经常操作电脑&#xff0c;熟悉电脑的操作&#xff0c;查资料&#xff0c;环境变量&#xff0c;命令行等等。二、编程需要一些英语基础&#xff0c;不用很厉害&#xff0c;但是至少要…

“6G+大模型+卫星互联网6G纲领性目标文件”多主题沙龙成功举办

2023年7月1日&#xff0c;“6G大模型卫星互联网&《IMT面向2030及未来发展的框架和总体目标建议书》多主题沙龙活动”在北京中国科学院计算机网络信息中心成功举办。 沙龙由6G俱乐部&#xff08;筹&#xff09;组织发起。来自中国科学院计算机网络信息中心、国家发改委经济体…

博睿数据蝉联中国APM市场份额第一,Bonree ONE春季正式版重磅发布

日前&#xff0c;IDC发布《中国IT统一运维软件产品市场跟踪报告&#xff0c;2022H2》,2022下半年中国APM市场环比增长近10%。博睿数据以市场份额达18.28%蝉联APM应用性能监控市场份额第一。 追求卓越&#xff0c;顺势而为 博睿数据作为中国领先的一体化智能可观测平台&#xf…

ThinkPHP+基于ThinkPHP的图书馆管理系统 毕业设计-附源码311833

图书馆管理系统的设计与实现 摘 要 大数据时代下&#xff0c;数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求&#xff0c;利用互联网服务于其他行业&#xff0c;促进生产&#xff0c;已经是成为一种势不可挡的趋势。在图书馆的要求下&#xff0c;开发一款整体…

第十七届全国大学智能车竞赛百度智慧交通组获奖名单

01 全国总决赛奖项 一、线下比赛组别 参赛省市队伍名称学校名称(全称&#xff09;指导老师指导老师参赛队员&#xff08;1&#xff09;参赛队员&#xff08;2&#xff09;参赛队员&#xff08;3&#xff09;参赛队员&#xff08;4&#xff09;参赛队员&#xff08;5&#xff0…

JavaScript 操作 Cookie

从事web开发也有些日子了&#xff0c;cookie 是个啥差不多能说明白&#xff0c;可是实际自己一上手操作就是得去搜索(你们懂的)&#xff0c;结果被鄙视了...所以就写一篇博文做为自己的学习笔记&#xff0c;嘿嘿&#xff0c;博客的好处在此体现出来了。 什么是 Cookie “cookie…

基于seq2seq的中国古诗词自动生成技术

文本生成技术是深度学习赋予自然语言处理一项全新的技术&#xff0c;而刚好网上有这方面诸多的例子&#xff0c;因此趁着有空实现一下中国古诗的自动生成技术&#xff0c;还是挺好玩的。 具体步骤主要包括以下几点&#xff1a; (1) 准备语料库&#xff0c;即对据有的古诗进行获…

揭示未来方向:2018中国TMT行业“领秀榜”盛典直击

经历了激烈竞争的2017年之后&#xff0c;2018新年伊始&#xff0c;由运营商世界网发起的“2018中国TMT行业领秀榜评选”也到了揭晓的时候。 1月21日下午&#xff0c;由运营商世界网主办的中国TMT行业“领秀榜”盛典在北京召开。大会内容包括了多项重要议程&#xff0c;在深刻揭…