McCabe环路复杂度的三种方法

(1)流图中的区域数等于环形复杂度。
(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。
(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。
推荐使用方法三,是万能的。不用考虑自环是否涉及到程序。
这里就通过网上流传的最多的例子,也是具有代表性的例子来说明

方法一:区域数就是平面分成了几部分,如图

这里就出现了E的自环算上了一个区域,而G 的自环不算一个区域
而同样在方法二中计算边时,下图中G的自环边不计算在边数中

上半年:E-N+2=8-7+2=3
下半年:E-N+2=9-7+2=4
方法三很完美,只需要看判定结点数目,判定结点就是出去有分支的
结点(出度>=2)。
上半年:C分支成了D,E,是判定结点;E分支了E,F,是判定结点。
下半年:C分支成了D,E,是判定结点;D分支了G,F,是判定结点;E分支了E,F,是判定结点。
G只指向G,不算判定结点,这也和前面G的自环不计算为区域数和边数吻合

*

软件工程McCabe环路复杂度计算,自环情况详解。相关推荐

  1. 文本相似度计算(中英文)详解实战

    使用tf_idf模型实现中英文文本相似度计算 1. 英文文本相似度计算 测试文本 documents = ["Is there anything good playing?",&q ...

  2. python ks值计算_利用Python计算KS的实例详解

    在金融领域中,我们的y值和预测得到的违约概率刚好是两个分布未知的两个分布.好的信用风控模型一般从准确性.稳定性和可解释性来评估模型.sOf免费资源网 一般来说.好人样本的分布同坏人样本的分布应该是有很 ...

  3. python中backward_pytorch的梯度计算以及backward方法详解

    基础知识 tensors: tensor在pytorch里面是一个n维数组.我们可以通过指定参数reuqires_grad=True来建立一个反向传播图,从而能够计算梯度.在pytorch中一般叫做d ...

  4. 约瑟夫环——递推公式详解(leetcode 1823. 找出游戏的获胜者)

    约瑟夫环--递推公式详解(leetcode 1823. 找出游戏的获胜者) 约瑟夫环问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知 n 个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围. ...

  5. (20)目标检测算法之YOLOv5计算预选框、详解anchor计算

    目标检测算法之YOLOv5计算预选框.详解anchor计算 单节段目标检测算法中:预选框的设定直接影响最终的检测精度 众所周知,yolov5中采用自适应调整预选框anchor的大小,但万事开头难,配置 ...

  6. C语言 计算选手的名次 详解

    C语言 计算选手的名次 详解 我是JaYLove0589. 本着程序员互相学习的原则, 且因自己深受此题困扰,对递归函数的使用不熟练,所以发下面代码. 望大家指正. 题目描述: 5位选手参加100米决 ...

  7. 边缘计算:万字长文详解高通SNPE inception_v3安卓端DSP推理加速实战

    本文是在以下文章的基础上编写,关于SNPE环境部署和服务器端推理可以参考上一篇文章: 边缘计算:万字长文详解高通SNPE inception_v3推理实战_seaside2003的博客-CSDN博客 ...

  8. 站长在线python精讲:在Python中使用len()函数计算字符串的长度详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用len()函数计算字符串的长度详解>.本知识点主要内容有:在Python中使用len()函数计算字符串在 ...

  9. 软件工程java向量相似度计算_向量的相似度计算常用方法9个

    <向量的相似度计算常用方法9个>由会员分享,可在线阅读,更多相关<向量的相似度计算常用方法9个(5页珍藏版)>请在人人文库网上搜索. 1.向量的相似度计算常用方法相似度的计算简 ...

最新文章

  1. 9.8.6恢复系统数据库
  2. JetBrains发布DataGrip 1.0——数据库与SQL领域中的瑞士军刀
  3. 20162313苑洪铭 第二周作业
  4. 【学习笔记】15、标准数据类型—集合
  5. SpringBatch批处理框架入门(二)
  6. 细说C#多线程那些事 - 线程同步和多线程优先级
  7. .NET6之MiniAPI(七):中间件
  8. cifs挂载 mount ubuntu_centos或者Ubuntu挂载windows10文件夹
  9. 开发WinRT自定义组件之富文本框
  10. 面试AI岗,为什么我在100人中拿到了唯一年薪70万的offer?
  11. 零知识证明在匿名投票中的应用
  12. 过程生产excel_通用Excel做销售订单动态展示板
  13. 企业如何从0到1搭建BI系统
  14. Arduino入门教程(二) Unity动感单车
  15. 圆内接等边三角形的画法_几何画板绘制圆的内接正三角形的操作教程
  16. javascript随机密码生成
  17. 探究人工智能辅助新时代心理学研究
  18. linux之lzma tar压缩解压命令
  19. 【机器学习】【决策树】ID3算法,Python代码实现生成决策树的系统
  20. 【转载】Aquanaut:水下变形金刚

热门文章

  1. saiku 2.6 源码整合(无maven情况下)
  2. 直流电机 M PWM 调速原理
  3. user.has_perm(perm) 中参数 perm 的格式问题 - Django
  4. 人脸识别face recognition
  5. ENVI中操作出现Error :array dimensions must be greater than 0错误的解决方法
  6. #打卡day1 ROS talker/listener
  7. 当程序员转行去做销售
  8. 理解嵌入式系统中基本的语音算法
  9. java服务程序假死(进程存在但请求无响应)的几种原因
  10. JavaScript数据类型基本数据类型与引用数据类型的区别