自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 基于贪心算法设计装载问题的求解;基于贪心算法设计背包问题的求解;

首先计算每种物品单位重量的价值v[i]/w[i],然后,依贪心选择策略,将尽可能多的单位重量价值最高的物品装入背包。求解的最优装载问题,要求装载的物品的数量尽可能多,而船的容量是固定的,那么优先把重量小的物品放进去,在容量固定的情况下,装的物品最多。2、先把重量小的物品装进去,这种策略能确保背包内的空间得以有效的利用,但是背包内物品的价值却不能有效增长,即增长缓慢,也不利于总体价值的最大化。1、先把价值高的装进去,这样来说,能够确保背包内物品价值的有效增长,但是背包容量消耗太快,不利于总体价值的最大化。

2022-11-17 11:45:31 722

原创 0-1背包问题及动态规划求解

这里我就分两种情况来看,第一种是第k件物品不放在背包中的情况,第二种是当第k件物品的重量不大于背包剩余的容量时,意味着第k件物品可以放置在背包中,“可以放置”并不意味着一定要放在背包中吧,所以,存在两种情形,第k件物品放在背包中或者第k件物品不放在背包中。其中关键部分是递归方程,其是算法的核心,分两种情况考虑,第一种是第k件物品不放在背包中的情况,第二种是当第k件物品的重量不大于背包剩余的容量时,意味着第k件物品可以放置在背包中,“可以放置”并不意味着一定要放在背包中吧,所以,存在两种情形,第k件物品。

2022-11-12 11:15:12 523

原创 贪心算法的理解

设计方案:首先,将活动按结束时间进行从小到大排序。其次,选出这些活动的最大的相容活动子集合。挑选出结束时间尽量早的活动,并且满足后一个活动的起始时间晚于前一个活动的结束时间。贪心算法不考虑整体最优,考虑局部最优,把问题分为几个子问题,求出子问题局部最优解,产生。整体最优解或者是整体最优解的近似解。特点:贪心算法每次总能选择具有最早完成时间的相容活动到集合。活动安排问题是给活动集合中选出最好的活动子集合。是否与当前已选择的所有活动相容。加入已选择活动的集合中,否则不选活动。,而继续比较下一活动与集合。

2022-11-12 11:08:28 137

原创 学习数据结构第N天——二叉树和森林的转化及森林的三种遍历

森林转为二叉树记住一个口决:兄弟节点相连,删除线只留下第一个根节点,顺时针旋转45度。森林的先序遍历,中序遍历,后续遍历,类似二叉树的遍历,只是把子节点换为子树。二叉树转化森林:左子树的右右节点相连,删除其余的线,逆时针旋转45度。

2022-11-12 11:05:37 323

原创 Python列表推导器

Python列表推导器,生成100个1至1000之间的随机数,要求这些随机数不重复,使用set来完成,使用字典统计每个单词出现次数

2022-11-01 15:20:07 954

原创 二叉树的层序遍历

内层循环把队列元素都取出来放入集合。并且把集合中的每个元素的左右子节点加入队列。每次内循环结束时就完成了上一层节点的集合,把集合加到返回结果集中,继续下一层内循环。二叉树的层序遍历使用遍历法。使用queue队列作为辅助。先将根节点放入队列。

2022-11-01 11:06:02 129

原创 动态规划—最长公共子序列

仅供参考

2022-10-31 10:06:13 1175 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除