51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4306|回复: 7
打印 上一主题 下一主题

[讨论] 计算独立路径数

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-11 12:23:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
计算圈复杂度(独立路径数)的方法:
1、流程图中区域的数量对应于环形的复杂性
2、流程图形G的圈复杂度V(G)为
     V(G)=E-N+2
其中,E-是流程图形中的边数  N-是流程图形中的节点数
3、流程图形G的圈复杂度V(G)为:
   V(G)=P+1
其中,P是包含在流程图形中判断节点的数量。

void doWork(int x,int y,int z)
{
   int k=0,j=0;
   if((x>3) && (z<10))
   {
     k=x*y-1;
   }
   if((x==4) || (y>5))
  {
     j=x*y+10;
  }
  j=j/3;  
}

请帮忙计算以上代码的圈复杂度(独立路径数)
小弟根据以上代码画出流程图并计算出圈复杂度为3
但这段代码的独立路径数有4条呀
请高手指点。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-7-13 13:50:41 | 只看该作者
1  (x>3) && (z<10)  是一个与的关系,那么就相当于一个条件,并且的关系,那么这是一个判断节点
2  ((x==4) || (y>5)) 是一个或的关系,那么就相当于两个条件了,x==4可以,y>5也可以,那么就是两个判断节点了
3  3个节点数+1=4
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-7-13 14:21:11 | 只看该作者

你难道不可以继续上次那个话题 为什么非要重新起个话题

别人回答你却不跟踪追问!!
问个什么啊
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-7-13 14:28:21 | 只看该作者
F:\11.jpeg

[ 本帖最后由 peimzh 于 2007-7-13 14:56 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-7-14 16:32:41 | 只看该作者
呵呵,这位同学提问的问题我今天上课讲过。


原帖由 hnxt_hwj 于 2007-7-11 12:23 发表
计算圈复杂度(独立路径数)的方法:
1、流程图中区域的数量对应于环形的复杂性
2、流程图形G的圈复杂度V(G)为
     V(G)=E-N+2
其中,E-是流程图形中的边数  N-是流程图形中的节点数
3、流程图形G的圈复杂度 ...
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-7-14 16:53:25 | 只看该作者
关键是要画对流程图和控制流图。
要注意一个是&&一个是||


原帖由 hnxt_hwj 于 2007-7-11 12:23 发表
计算圈复杂度(独立路径数)的方法:
1、流程图中区域的数量对应于环形的复杂性
2、流程图形G的圈复杂度V(G)为
     V(G)=E-N+2
其中,E-是流程图形中的边数  N-是流程图形中的节点数
3、流程图形G的圈复杂度 ...
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-7-16 09:29:47 | 只看该作者

谢谢

非常感谢,小弟明白了
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-7-16 15:32:44 | 只看该作者

控制流图

麻烦画出此题的控制流图
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-21 16:49 , Processed in 0.071466 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表