Recursion 递归方法会增加循环矩阵的复杂性吗
我目前没有安装任何用于测量循环矩阵代码复杂性的程序。但是我想知道递归方法会增加复杂性吗 e、 gRecursion 递归方法会增加循环矩阵的复杂性吗,recursion,complexity-theory,Recursion,Complexity Theory,我目前没有安装任何用于测量循环矩阵代码复杂性的程序。但是我想知道递归方法会增加复杂性吗 e、 g //这只是一个递归查找int[]的简单C#示例 //在一堆字符串中[] 私有整数[]提取整数(字符串[]s) { foreach(s中的字符串s1) { 如果(s1.ints.length在哪里?圈复杂度取决于代码中独立路径的数量。粗略地翻译,寻找分支。递归不一定意味着有多个控制路径。我猜递归和高圈复杂度之间不一定有对应关系。 // just a simple C# example to recur
//这只是一个递归查找int[]的简单C#示例
//在一堆字符串中[]
私有整数[]提取整数(字符串[]s)
{
foreach(s中的字符串s1)
{
如果(s1.ints.length<0)
{
提取物(s1);
}
其他的
{
返回整数;
}
}
}
谢谢。据我所知,没有。在您的示例中,递归方法只有一条线性独立的路径,因此不会增加圈复杂度
即使递归调用本身不会严格算作增量,保护条件也会这样做。这使得循环和递归+守门员。代码中的原始<代码> INT[]/COD>在哪里?圈复杂度取决于代码中独立路径的数量。粗略地翻译,寻找分支。递归不一定意味着有多个控制路径。我猜递归和高圈复杂度之间不一定有对应关系。
// just a simple C# example to recursively find an int[]
// within a pile of string[]
private int[] extractInts(string[] s)
{
foreach (string s1 in s)
{
if (s1.ints.length < 0)
{
extractInts(s1);
}
else
{
return ints;
}
}
}