算法第三章实验报告

Posted sufeifan1020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法第三章实验报告相关的知识,希望对你有一定的参考价值。

实践报告任选一题进行分析。内容包括:

  1. 实践题目

最大子段和

  1. 问题描述

给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。

要求算法的时间复杂度为O(n)。

  1. 算法描述

for(i=1;i<=n;i++)
  cin>>a[i]; 
 ma=b[1]=a[1];
 for(i=2;i<=n;i++){   
  if(b[i-1]<=0)
  ma=b[i-1]=0;
  b[i]=b[i-1]+a[i];
  if(b[i]<0){
   i++;
   b[i]=a[i];
  }
  ma=max(ma,b[i]);
 }
 

  1. 算法时间及空间复杂度分析(要有分析过程)

时间复杂度:算法中只用到一维数组的遍历,因此时间复杂度为O(n);

空间复杂度:使用一维数组b[]存放字段和,空间复杂度为O(n)。

  1. 心得体会(对本次实践收获及疑惑进行总结)

小组讨论收获匪浅。














以上是关于算法第三章实验报告的主要内容,如果未能解决你的问题,请参考以下文章

算法第三章上机实验报告

算法第三章上机实验报告

第三次实验报告

第二章,第三章实验报告

第三章上机实验报告

第三章实验报告