【零基础】学python数据结构与算法笔记13-贪心算法

文章目录

前言

学习python数据结构与算法,学习常用的算法,
b站学习链接

80.贪心算法(新一章:算法进阶)

贪心算法(又称贪婪算法)是指,对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
贪心算法并不保证会得到最优解,但是在某些问题上贪心算法的解就是最优解。要会判断一个问题能否用贪心算法来计算。

找零问题:

【零基础】学python数据结构与算法笔记13-贪心算法
从最大的面额找,t默认是倒序的,加入找零376元
【零基础】学python数据结构与算法笔记13-贪心算法
最后3张100,1张50,1张20,一张5,一张1。

; 81.分数背包

【零基础】学python数据结构与算法笔记13-贪心算法
举例:
【零基础】学python数据结构与算法笔记13-贪心算法
对于0-1背包和分数背包,贪心算法是否都能得到最优解?
对于0-1背包,首先看单位内的商品价值,商品1单价6,商品2单价5,商品3单价4,先拿最贵的商品1,再拿商品2,最后只剩下20kg装不下商品3,最后拿到价值160的商品,但这不是最优的,最优的是220。
而对于分数背包,都能装满,所以可以得到最优解。

82.分数背包实现

w是背包的大小,背包大小/最后商品的重量 为带走的分数(几分之几的商品,比如2/3铜沙)

【零基础】学python数据结构与算法笔记13-贪心算法

; 83.数字拼接问题

【零基础】学python数据结构与算法笔记13-贪心算法
94 和32比的话 很好比,位数相同94>32 就把94放前面
128 和1286比 1286128 1286在前
728和7286比 7287286 728在前
位数不同就不好比,可以转换一下思路,看哪个拼接后大就用哪个
a+b if a+b>b+a else b+a

84.数字拼接问题实现

也可以按照上面的思路自己用冒泡法交换排序,这里用了python内置的函数实现。
这里是降序。

【零基础】学python数据结构与算法笔记13-贪心算法

; 85.活动选择问题

【零基础】学python数据结构与算法笔记13-贪心算法
贪心结论:最先结束的活动一定是最优解的一部分
【零基础】学python数据结构与算法笔记13-贪心算法
就是说,我找最先结束的就是最优解里的,开始前把活动按照最先结束的时间顺序,升序排序。
先找第一个活动,最后结束是4,那我第二个活动不能找了,它第三个开始的,只能从第4个活动再开始。

86.活动选择问题实现

【零基础】学python数据结构与算法笔记13-贪心算法

; 87.贪心算法总结

这些问题求解的都是最优解,最多,最大问题
而这些不能解决的,比方说0-1背包问题,我们下次讲动态规划来实现。

总结

学习了贪心算法的4个例子

文章目录

Original: https://blog.csdn.net/weixin_56760882/article/details/128710222
Author: 荒野火狐
Title: 【零基础】学python数据结构与算法笔记13-贪心算法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/812732/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MQ系列6:消息的消费

    MQ系列1:消息中间件执行原理MQ系列2:消息中间件的技术选型MQ系列3:RocketMQ 架构分析MQ系列4:NameServer 原理解析MQ系列5:RocketMQ消息的发送…

    Python 2023年10月19日
    049
  • python基础代码

    一晃两个月了,好长时间不写了。有太多的借口去推脱,但静下来却也发觉,每个推脱都显的苍白。 今天写python,为什么选择py。因为python属于编程语言,而且也是开源的,在人工智…

    Python 2023年8月27日
    080
  • python入门基础

    作者介绍: 作者:小刘在C站每天分享课堂笔记,一起努力,共赴美好人生!夕阳下,在最美的绽放。 目录 一.python是什么? 二.为什么使用python 1、软件质量 2、提高开发…

    Python 2023年7月31日
    059
  • Pygame简单实现场景系统 (Scene)

    文件结构 常量设置 场景系统实现 我在使用Pygame制作一款游戏时,需要使用场景系统。不过Pygame官方好像没有制作场景模块。所以我打算自己写一个简单的场景系统并分享到CSDN…

    Python 2023年9月18日
    067
  • pytest 筛选用例

    pytest 筛选用例 * – + 指定目录查找用例 + pytest – mark + 运行过滤 指定目录查找用例 此时,项目目录是 class_pyte…

    Python 2023年9月11日
    057
  • 简单云数据库API开发

    步骤一:项目目录 各位客官,让我们首先上个目录,让大家有个大体了解。 步骤二:材料准备 本次用到的一些python库: 本次用到的一些知识: 代码(注释详细,小白可入!) 接下来把…

    Python 2023年8月13日
    038
  • 爬虫框架Scrapy(10)下载文件与图片

    在之前的章节中,我们学习了从网页中爬取信息的方法,这只是爬虫最典型的一种应用,除此之外,下载文件也是实际应用中很常见 的一种需求,例如使用爬虫爬取网站中的图片、视频、WORD 文档…

    Python 2023年10月4日
    047
  • pythonscrapy爬虫安装_Python之Scrapy爬虫框架安装及使用详解

    题记:早已听闻python爬虫框架的大名。近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享。有表述不当之处,望大神们斧正。 一、初窥Scrapy Scrapy是一个…

    Python 2023年10月5日
    047
  • 数据结构——链表

    1.什么是链表 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 2.节点 节点维护变量data和next,分别用于存储数据和…

    Python 2023年6月12日
    088
  • Arduino UNO驱动 AT24C256 EEPROM存储器模块

    Arduino UNO驱动 AT24C256 EEPROM存储器模块 * – AT24C256模块简介 – 模块引脚定义 – Arduino U…

    Python 2023年11月7日
    036
  • Python如何搭建疫苗管理系统

    Original: https://www.cnblogs.com/123456feng/p/16026839.htmlAuthor: 蚂蚁ailingTitle: Python如…

    Python 2023年5月24日
    067
  • 强化学习资源汇总

    配置环境 (2)使用conda管理运行环境: 创建环境:conda create -n your_env_name python=x.x 删除环境:conda remove -n …

    Python 2023年6月3日
    077
  • 用Python批量获取世界各地视频,只有你喊不出名字的,没有我爬不到的

    import requests # 数据请求模块 pip install requests import re # 正则表达式模块 内置模块 url = ‘https://www….

    Python 2023年5月24日
    086
  • 【PyTorch】torch.utils.data.Dataset 介绍与实战

    训练模型一般都是先处理 数据的输入问题 和 预处理问题 。Pytorch提供了几个有用的工具:torch.utils.data.Dataset 类和 torch.utils.dat…

    Python 2023年8月2日
    070
  • Matplotlib是什么

    Matplotlib是什么 Matplotlib 是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy ndarray 数组来绘制 2D 图像,它使…

    Python 2023年9月3日
    072
  • 深耕不辍 创新不止 | 智变大交通,新华三与您一路同行

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年10月8日
    028
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球