码迷,mamicode.com
首页 > 其他好文 > 详细

软件第三次作业

时间:2018-04-01 14:22:47      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:在线   问题   情况   ref   src   net   条件   执行   href   

实现最大子段和

1.题目描述

题目:最大连续子数组和(最大子段和)

问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n
例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20。
-- 引用自《百度百科

2.算法分析

实现最大子段和有多种方法,其中包括枚举法
分治法在线算法联机算法等方法。本次我选用枚举法。

本次使用c++辅助生成代码,用Eclipse实现代码的编写以及测试。

3.算法的生成

1.求和代码

技术分享图片

2.测试代码

技术分享图片

3.运行结果

技术分享图片

3.覆盖测试

1.覆盖方法

(1)语句覆盖:所有语句被执行一次。

(2)判定覆盖:每个判定都要取所有的可能。

(3)条件覆盖:判断每个条件的所有可能至少满足一次。

(4)判定条件覆盖:同时满足判断覆盖和条件覆盖。

(5)条件组合覆盖:所有组合情况都要覆盖一次。

2.本次所选覆盖测试方法

本次所选覆盖测试方法为条件组合覆盖。

3.条件组合覆盖及其路径

(1)流程图
技术分享图片
(2)条件组合覆盖及其路径
技术分享图片
(3)测试用例
1.{-1,3,4,-2}
技术分享图片
2.{-2,-4,-8,-1}
技术分享图片
3.{-3,2,1,-6}
技术分享图片

代码链接

传送门

https://git.coding.net/wufulin/ruanjiian3.git

软件第三次作业

标签:在线   问题   情况   ref   src   net   条件   执行   href   

原文地址:https://www.cnblogs.com/wufulin/p/8686207.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!