16. 数据和算法 大题

关于这一部分,主要涉及到了下午的大题,关于下午的大题,主要涉及了四个考点

分别是分治法,回溯法,贪心法,动态规划法

考验起来较难,需要我们抓住其中的重点,拿到必拿分。

那么,首先,我们先拿讲解下不同的算法实现

首先是分治法

对于这个算法,可以概述位,对于一个规模为n的问题,如果规模较大,而且可以将其分解为k个规模较小的字问题,那么就递归的解这些字问题,然后将各个子问题合并得到愿问题的解

整个算法可以分为 分解,解决,合并 三个流程

分治法的实现简单可以如下的看

不断的向下递归,得到最小化的结果,然后向上合并,得到结果

其次是二分查找法,也是分治法的实现

然后是回溯法

一种深度优先的查找方法,按照当前条件,选择一个相对较优的条件向前搜索,从而达到目标。如果达不到目标,就会退回一步重新选择,这就是回溯法

关于贪心法

总是在做当前来说较好的选择,并不是从整体选择,每次都是寻求局部最优解,所以消耗时间少,但是一般只能找到相对最优解

需要注意对于贪心的问题,需要明确一个物品只能插入一次还是可以插入多次

动态规划法

需要根据某些判断,或者某些函数,确定每一步走下来都能得到最优解,从而得到全局最优解

我们来看道例题

文本

描述已自动生成

首先是代码题

在最先适宜策略中,我们先将其进行了初始化,为0

然后遍历n个货物

每个货物依次遍历每个集装箱,判断是否可以进行装载

所以第一个应该是

J = 0

第二个应该是

B[J] = B[J] + S[I]

然后是第二个最优策略

则是先初始化多个集装箱爱你

然后依次遍历货物

依次找到最优的集装箱

所以第三个应该是为

Min = temp

B[M] = B[M] + S[I]

其次是第二题

分别是使用了贪心以及贪心算法

然后关于时间复杂度,则是取其中最大的复杂度,则双双为 o(n的平方)

最后是问题三

然后是第二道题

文本, 信件

描述已自动生成

文本, 信件

描述已自动生成

图形用户界面, 文本, 应用程序

描述已自动生成

文本

描述已自动生成

文本

描述已自动生成

对于第一道题

我们分别填充四个位置

k<= r

Arr[k] = right[j]

Begin < end

mergerSort(arr,mid,end)

对于第二个题,需要我们知道算法设计策略

这本质上就是一种分治法的思想

递归式应该是,Tn = 2T(n/2)

也就是o(nlogn)

空间复杂度则是o(n)

比较次数,如果是已经排序号的子数组,那么则应该是

N1 + n2的比较次数

发表评论

邮箱地址不会被公开。 必填项已用*标注