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. php file抓取不到内容,深入file_get_contents函数抓取内容失败的原因分析
  2. Some inputs do not have OOB scores. This probably means too few trees were used to compute any relia
  3. SAP的模块化服务应用市场Hybris,前景如何?
  4. LVM的创建与快照和SSM存储管理器的使用
  5. 解读浮动闭合最佳方案:clearfix
  6. VIM批量文件查找和替换
  7. PreScan Regenerate问题
  8. 斯凯奇诉爱马仕侵权——品牌发展需警惕知识产权侵权
  9. NPOJ 1065 喵星人吃土豆
  10. 从看脸到读心:深度理解人的视觉技术走到哪了?
  11. 关于hibernate检索策略
  12. [OPENAI2021力作][CLIP: Connecting Text and Images]
  13. 【图像Restoration】Learning Enriched Features for Real Image Restoration and Enhancement
  14. 面向对象实验——solitaire纸牌游戏
  15. mysql字段长度计算
  16. 【Node.js】深度解析node的包和强大的包管理工具
  17. 并发初体验,解决小规模并发下单问题
  18. Spring IOC源码解析笔记
  19. Python Tkinter实现的WIN7电脑端共享WIFI热点(二)
  20. 实战Kubernetes动态卷存储(NFS)

热门文章

  1. C语言编程四平方和定理,第四平方和定理,用c语言实现
  2. C语言语句篇-------赋值语句
  3. accept的阻塞与非阻塞
  4. 基于Red Hat的Linux安装网易云音乐教程(openSUSE)
  5. Axure动态面板使用,简单的交互
  6. 费马小定理 几道例题
  7. 511遇见易语言乐玩插件FindPicEx找图扩展找多图
  8. 好用的第三方网站ios
  9. 【深度学习】什么是解耦?
  10. Anaconda安装说明