zoukankan      html  css  js  c++  java
  • 软件第三次作业

    实现最大子段和

    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

  • 相关阅读:
    网站备份list
    vnc checklist
    appnode iptables 规则后面覆盖前面的
    Appnode + Discuz checklist
    解决WORD文档无法显示链接的图像问题
    应用容器Application container
    要研究的内容
    转 Flex MXML编译成AS类
    Flex文件结构
    int a
  • 原文地址:https://www.cnblogs.com/wufulin/p/8686207.html
Copyright © 2011-2022 走看看