![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 69
Morefree、
这个作者很懒,什么都没留下…
展开
-
活动安排算法
问题描述设有n个活动,每个活动要求使用统一资源,每个活动i都有起始时间s和一个结束时间f,活动1执行完成后活动2也可以完全执行,则活动1与活动2相容。活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合。活动结束时间以升序排列。###算法分析1.活动安排问题可以用贪心算法求解,从贪心算法的思想出发,总是作出当前最好的选择,并不需要从整体最优考虑,完成的是局部最优选择,整体最优解可以通过一系列局部最优的选择当然活动安排问题用贪心算法求解则是最优选择。2.基本思路一、建立数学模型来描述问题。原创 2021-02-20 11:54:03 · 1955 阅读 · 0 评论 -
最大子段和三种算法实现
问题描述给定由 n 个整数(可能为负整数)组成的序列 a1、a2、……an,求该序列形如的子段和的最大值。当所有整数均为负整数时定义其最大子段和为 0。依次定义,所求的最优值为max{例如:当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为=20。三种算法求解1、暴力算法算法分析:通过阅读了解问题后,可以初步尝试用最简单的方法解决问题,方便发现问题本质。最大子段和的结果很明显是通过:对数组排列组合得出子段和的个数,然后一一对比得出结果。求子原创 2021-02-20 12:19:50 · 5756 阅读 · 2 评论 -
三角形矩阵(数塔算法)
问题描述如下图是一个数塔,从顶部出发在每一个节点可以选择向左或者向右走,一直走到底层,要求找出一条路径,使得路径上的数字之和最大.算法分析首先,该问题的解法符合动态规划的思想。一、子问题重叠:无论问题规模怎么变化,都是以三角形矩阵的方式呈现,大的三角形包含小的三角形,直到行数减小到2为止。二、原问题的最优解包含子问题的最优解:通过最简单的方法,我称之为暴力带值。列出小问题规模的结果,通过矩阵data[i][j]存入数值:再生成value表:通过value[i][j]-data[i][j]原创 2021-02-20 20:31:04 · 3297 阅读 · 0 评论