控制流图怎么画

一、什么是控制流图?

    控制流图(Control Flow Graph, CFG)也叫控制流程图,是一个过程或程序的抽象表现,是用在编译器中的一个抽象数据结构,由编译器在内部维护,代表了一个程序执行过程中会遍历到的所有路径。它用图的形式表示一个过程内所有基本块执行的可能流向, 也能反映一个过程的实时执行过程。

Frances E. Allen于1970年提出控制流图的概念 [1] 。此后,控制流图成为了编译器优化和静态分析的重要工具。

关键要素:节点(标有序号的圈圈)+控制流线

二、控制流程图控制流图区别?

控制流图是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。
主要是节点不同(控制程序图:框图 ;控制流图:圈圈)

三、如何画控制流图
(1)确定流程,拆分复合条件
(2)将条件标注在线上,操作标记在圈上

实例:
在这里插入图片描述
圈复杂度:
(1)通过边和节点数
V(G)=m-n+2 m:边数 n:点数
(2)通过区域
V(G)=A+1 A:密封区域
(3)通过判断点(本人喜欢此方式)
V(G)=P+1

猜你喜欢

转载自blog.csdn.net/qq_44654974/article/details/106179849