算法设计与分析第二章作业

软工2101胡楷 2022-09-25 22:07:57

1.请以伪代码描述最大字段和的分治算法

将序列a[1:n]分成长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大字段和,则a[1:n]的最大子段和有三中情形:

1.a[1:n]的最大子段和与a[1:n/2]的最大子段和相同;

2.a[1:n]的最大子段和与a[n/2+1:n]的最大子段和相同;

3.a[1:n]的最大字段和为中间段;

可用递归方法求得情形1、2。对于情形3,可以看出a[n/2]与a[n/2+1]在最优子序列中。

因此可以在a[1:n/2]中计算出s1;

在a[n/2+1:n]中计算出s2;

则s1+s2即为出现情形3时的最优值。

伪代码如下:

int maxSubSum(int a[], int left, int right){

	int sum = 0;
	if(left == right){
		sum = a[left] > 0 ? a[left] : 0;
	}
	else{
		
		int center = (left + right) / 2;
		int leftSum = maxSubSum(a, left, center);
		int rightSum = maxSubSum(a, center + 1, right);

		int s1 = 0;
		int lefts = 0;
		for(int i = center; i >= left; i--){
			
			lefts += a[i];
			if(lefts > s1) s1 = lefts;
		}
	
		int s2 = 0;
		int rights = 0;
		for(int i = center + 1; i < right; i++){
			
			rights += a[i];
			if(rights > s2)	s2 = rights;
		}
		sum = s1 + s2;
		if(sum < leftSum) sum = leftSum;	
		if(sum < rightSum) sum = rightSum;
	}
	return sum;
}

2.分析该算法的时间复杂度

分解子问题时间复杂度为O(1),求解子问题时间复杂度为2T(n/2),合并子问题算法时间复杂度为O(1)。

根据主定理T(n)=2T(n/2)+O(n),得到最后的时间复杂度为O(nlogn).

3.结合本章的学习,你对分治法的体会和思考

分治法的主要思想就是将一个问题分割为若干子问题,各子问题互相独立,子问题解决后,合并起来可以得到原问题的解。将一个复杂的且规模庞大的问题通过不断细分不断细分,变成一个个易于理解易于解决的子问题,逐一击破后合并成为最后的解。

 

...全文
58 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-数据结构与算法 发布问题, 以便更快地解决您的疑问
内容概要:本文针对传统三电平并网逆变器存在的谐波含量高、电网适应性差及动态响应慢等问题,以有源中点箝位(ANPC)三电平逆变器为研究对象,提出一种融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相与电网电压前馈控制的一体化高性能并网控制策略。通过分析ANPC拓扑的结构优势,构建信号采集、核心控制与调制驱动三层协同架构,结合DPWMA调制提升等效开关频率以优化谐波特性,利用正负序分离技术实现不平衡电网下的精准锁相同步,并引入电网电压前馈控制增强系统动态响应能力与抗扰性。基于Simulink搭建仿真模型,在稳态、电网不平衡及动态扰动等多种工况下验证了该策略在波形质量、锁相精度和系统稳定性方面的优越性能,结果表明该方案可显著提升并网电能质量和运行可靠性,适用于新能源发电、工业变流等大功率应用场景。; 适合人群:具备电力电子、自动控制理论及Matlab/Simulink仿真基础,从事新能源并网、逆变器控制、电能质量优化等相关领域研究的研究生、科研人员及工程技术人员; 使用场景及目标:①应用于高电能质量要求的大功率并网逆变系统设计;②研究复杂电网条件下(如电压不平衡、突变扰动)的高性能控制策略;③为多电平逆变器的先进调制与复合控制技术提供仿真建模与性能验证参考; 阅读建议:建议结合全文结构与仿真模型逐步理解控制策略的设计逻辑,重点关注DPWMA调制机制、正负序分离原理及前馈-反馈协同控制的实现方式,可通过复现仿真案例深入掌握各模块参数整定与性能优化方法。

434

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧