一种流程图的路径获取方法及装置制造方法及图纸

技术编号:15086656 阅读:147 留言:0更新日期:2017-04-07 16:34
本发明专利技术涉及计算机领域,公开了一种流程图的路径获取方法及装置,以解决现有技术中无法自动搜索并获取流程图的路径的技术问题。该方法包括:获取流程图包含的所有节点的数量N,其中N为正整数;从所述流程图的起始节点开始搜索所述流程图的路径;在搜索到节点i时,通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点,i为0,1,2…N;在一条路径搜索结束之后,通过回溯方式搜索新的路径,直至回溯至所述起始节点。达到了能够对流程图进行处理,并搜索获得流程图的全部有效路径的技术效果。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种流程图的路径获取方法及装置
技术介绍
流程图指的是以特定的图形符号加上说明,表示算法的图,通常一件事或者一个知识点用流程图可以帮助我们从总体上掌控概要提纲以及层次关系。但是若是想验证这个流程图有没有问题,我们就需要去验证各种情况,例如:流程图的各条路径是否符合设计的要求。在软件测试领域中,白盒测试人员在设计测试用例时要根据代码逻辑来设计,也就是需要搜索流程图的路径,但是日常工作中,我们遇到的流程图往往有着复杂的逻辑,比如有在十几个分支的路径情况就有二的十几次幂,也就是至少好几千种情况,手动从中找出全部路径简直不可能。也就是说,现有技术中存在着无法自动搜索并获取流程图的路径的技术问题。
技术实现思路
本专利技术提供一种流程图的路径获取方法及装置,以解决现有技术中无法自动搜索并获取流程图的路径的技术问题。第一方面,本专利技术实施例提供一种流程图的路径获取方法,包括:获取流程图包含的所有节点的数量N,其中N为正整数;从所述流程图的起始节点开始搜索所述流程图的路径;在搜索到节点i时,通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点,i为0,1,2…N;在一条路径搜索结束之后,通过回溯方式搜索新的路径,直至回溯至所述起始节点。可选的,在所述通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点之前,所述方法还包括:针对所述流程图的每个节点分别设置对应的V值和H值,其中,V值表征对应节点在任意一条路径中最多出现的次数,H值表示对应节点在当前搜索的路径中出现的次数;针对每个节点设置启发式函数F=V-H,其中F即为所述权值。可选的,所述针对所述流程图的每个节点分别设置对应的V值,具体包括:确定每个节点的输入线条数和输出线条数;确定所述输入线条数和输出线条数中的最大值作为对应节点的所述V值。可选的,所述通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点,具体包括:确定所述节点i所指向的至少一个节点;从所述至少一个节点中选择F值最大且大于零的一个节点作为下一步经过的节点。可选的,在一条路径搜索结束之后所述方法还包括:将所有节点的V值和H值归为初始值。可选的,所述通过回溯方式搜索新的路径,具体包括:在回溯至当前节点i时,判断对应所述节点i是否存在没有搜索过的路径;在对应所述节点i存在没有搜索过的路径时,从没有搜索过的路径中选择一条路径进行搜索;在对应所述节点i不存在没有搜索过的路径时,选择所述节点i的前一个节点i-1作为新的当前节点。第二方面,本专利技术实施例提供一种流程图的路径获取装置,包括:获取模块,用于获取流程图包含的所有节点的数量N,其中N为正整数;搜索模块,用于从所述流程图的起始节点开始搜索所述流程图的路径;确定模块,用于在搜索到节点i时,通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点,i为0,1,2…N;回溯模块,用于在一条路径搜索结束之后,通过回溯方式搜索新的路径,直至回溯至所述起始节点。可选的,所述装置还包括:第一设置模块,用于在通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点之前,针对所述流程图的每个节点分别设置对应的V值和H值,其中,V值表征对应节点在任意一条路径中最多出现的次数,H值表示对应节点在当前搜索的路径中出现的次数;第二设置模块,用于针对每个节点设置启发式函数F=V-H,其中F即为所述权值。可选的,所述第一设置模块,具体包括:第一确定单元,用于确定每个节点的输入线条数和输出线条数;第二确定单元,用于确定所述输入线条数和输出线条数中的最大值作为对应节点的所述V值。可选的,所述确定模块,具体包括:第三确定单元,用于确定所述节点i所指向的至少一个节点;第一选择单元,用于从所述至少一个节点中选择F值最大且大于零的一个节点作为下一步经过的节点。可选的,所述装置还包括:初始化模块,用于在一条路径搜索结束之后,将所有节点的V值和H值归为初始值。可选的,所述回溯模块,具体包括:判断单元,用于在回溯至当前节点i时,判断对应所述节点i是否存在没有搜索过的路径;第二选择单元,用于在对应所述节点i存在没有搜索过的路径时,从没有搜索过的路径中选择一条路径进行搜索;第三选择单元,用于在对应所述节点i不存在没有搜索过的路径时,选择所述节点i的前一个节点i-1作为新的当前节点。本专利技术有益效果如下:由于在本专利技术实施例中,首先获取流程图包含的所有节点的数量N,其中N为正整数;然后从流程图的起始节点开始搜索流程图的路径;在搜索到节点i时,通过节点i所指向的每个节点的权值确定节点i下一步经过的节点,i为0,1,2…N;在一条路径搜索结束之后,通过回溯方式搜索新的路径,直至回溯至起始节点,即获得流程图的所有有效路径。由于在搜索到节点i之后,通过节点i所指向的每个节点的权值确定节点i下一步所输出的节点,故而能够防止在遇到流程图的环时,因为无法确定选择哪个节点所造成的死循环,而通过回溯算法则能够遍历流程图的所有有效路径,从而达到了能够对流程图进行处理,并搜索获得流程图的全部有效路径的技术效果。附图说明图1为本专利技术实施例中流程图的路径获取方法的流程图;图2为本专利技术实施例中流程图的路径获取方法中所列举的流程图的示意图;图3为本专利技术实施例中流程图的路径获取方法中建立启发式函数F的流程图;图4为本专利技术实施例中流程图的路径获取方法中通过节点i所指向的每个节点的权值确定节点i下一步所输出的节点的流程图;图5为本专利技术实施例中流程图的路径获取方法的逻辑框图;图6为本专利技术实施例中流程图的路径获取装置的结构图。具体实施方式本专利技术提供一种流程图的路径获取方法及装置,以解决现有技术中无法自动搜索并获取流程图路径的技术问题。本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:首先获取流程图包含的所有节点的数量N,其中N为正整数;然后从流程图的起始节点开始搜索流程图的路径;在搜索到节点i时,通过节点i所指向的每个节点的权值确定节点i下一步经过的节点,i为0,1,2…N;在一条路径搜索结束之后,通过回溯方式搜索新的路径,直至回溯至起始节点,即获得流程图的所有有效路径。由于在搜索到节点i之后,通过节点i所指向的每个节点的权值确定节点i下一步所输出的节点,故而能够防止在遇到流程图的环时,因为无法确定选择哪个节点所造成的死循环,而通过回溯算法则能够遍历流程图的所有有效路径,从而达到了能够对流程图进行处理,并搜索获得流程图的全部有效路径的技术效果。为了更好的理解上述技术方案,下面通过附图以及具体实施例对本专利技术技术方案做详细的说明,应当理解本专利技术实施例以及实施例中的具体特征是对本专利技术技术方案的详细的说明,而不是对本专利技术技术方案的限定,在不冲突的情况下,本专利技术实施例以及实施例中的技术特征可以相互组合。第一方面,本专利技术实施例提供一种流程图的路径获取方法,请参考图1,包括:步骤S101:获取流程图包含的所有节点的数量N,其中N为正整数;步骤S102:从流程图的起始节点开始搜索流程图的路径;步骤S103:在搜索到节点i时,通过节点i所指向的每个节点的权值确定节点i下一步经过的节点,i为0,1,2…N;步骤S104:在一条路径搜索结束之后,通过回溯方式搜索新的路本文档来自技高网...
一种流程图的路径获取方法及装置

【技术保护点】
一种流程图的路径获取方法,其特征在于,包括:获取流程图包含的所有节点的数量N,其中N为正整数;从所述流程图的起始节点开始搜索所述流程图的路径;在搜索到节点i时,通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点,i为0,1,2…N;在一条路径搜索结束之后,通过回溯方式搜索新的路径,直至回溯至所述起始节点。

【技术特征摘要】
1.一种流程图的路径获取方法,其特征在于,包括:获取流程图包含的所有节点的数量N,其中N为正整数;从所述流程图的起始节点开始搜索所述流程图的路径;在搜索到节点i时,通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点,i为0,1,2…N;在一条路径搜索结束之后,通过回溯方式搜索新的路径,直至回溯至所述起始节点。2.如权利要求1所述的方法,其特征在于,在所述通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点之前,所述方法还包括:针对所述流程图的每个节点分别设置对应的V值和H值,其中,V值表征对应节点在任意一条路径中最多出现的次数,H值表示对应节点在当前搜索的路径中出现的次数;针对每个节点设置启发式函数F=V-H,其中F即为所述权值。3.如权利要求2所述的方法,其特征在于,所述针对所述流程图的每个节点分别设置对应的V值,具体包括:确定每个节点的输入线条数和输出线条数;确定所述输入线条数和输出线条数中的最大值作为对应节点的所述V值。4.如权利要求2所述的方法,其特征在于,所述通过所述节点i所指向的每个节点的权值确定所述节点i下一步经过的节点,具体包括:确定所述节点i所指向的至少一个节点;从所述至少一个节点中选择F值最大且大于零的一个节点作为下一步经过的节点。5.如权利要求2所述的方法,其特征在于,在一条路径搜索结束之后所述方法还包括:将所有节点的V值和H值归为初始值。6.如权利要求1-5任一所述的方法,其特征在于,所述通过回溯方式搜索新的路径,具体包括:在回溯至当前节点i时,判断对应所述节点i是否存在没有搜索过的路径;在对应所述节点i存在没有搜索过的路径时,从没有搜索过的路径中选择一条路径进行搜索;在对应所述节点i不存在没有搜索过的路径时,选择所述节点i的前一个节点i-1作为新的当前节点。7.一种流程图的路径获取装置,其特征在于,包括:获取模块,用于获取...

【专利技术属性】
技术研发人员:吴芳昱
申请(专利权)人:北京搜狗科技发展有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1