标签: recursion

Angular指令中的递归

有一些流行的递归角度指令Q&A,它们都归结为以下解决方案之一:

第一个问题是,除非您可以理解地管理手动编译过程,否则无法删除以前编译的代码.第二种方法存在的问题是......不是指令而忽略了它的强大功能,但更迫切的是,它不能像指令一样参数化; 它只是绑定到一个新的控制器实例.

我一直在玩手动做一个angular.bootstrap@compile()在链接功能,但这让我有手动跟踪要删除和添加的元素的问题.

有一种很好的方法可以使用参数化递归模式来管理添加/删除元素以反映运行时状态吗?也就是说,一个带有添加/删除节点按钮的树和一些输入字段,其值从节点的子节点传递下来.也许是第二种方法与链式范围的组合(但我不知道如何做到这一点)?

javascript recursion angularjs

175
推荐指数
4
解决办法
6万
查看次数

如何使用Bash递归创建不存在的子目录?

我正在创建一个快速备份脚本,将一些数据库转储到一个漂亮/整洁的目录结构中,我意识到我需要测试以确保在创建目录之前存在这些目录.我的代码有效,但似乎有更好的方法.有什么建议?

[ -d "$BACKUP_DIR" ] || mkdir "$BACKUP_DIR"
[ -d "$BACKUP_DIR/$client" ] || mkdir "$BACKUP_DIR/$client"
[ -d "$BACKUP_DIR/$client/$year" ] || mkdir "$BACKUP_DIR/$client/$year"
[ -d "$BACKUP_DIR/$client/$year/$month" ] || mkdir "$BACKUP_DIR/$client/$year/$month"
[ -d "$BACKUP_DIR/$client/$year/$month/$day" ] || mkdir "$BACKUP_DIR/$client/$year/$month/$day"
Run Code Online (Sandbox Code Playgroud)

bash shell recursion subdirectory

173
推荐指数
3
解决办法
9万
查看次数

Java递归Fibonacci序列

请解释这个简单的代码:

public int fibonacci(int n)  {
    if(n == 0)
        return 0;
    else if(n == 1)
      return 1;
   else
      return fibonacci(n - 1) + fibonacci(n - 2);
}
Run Code Online (Sandbox Code Playgroud)

我对最后一行感到困惑,特别是因为如果n = 5,那么将调用fibonacci(4)+ fibonacci(3)等等但是我不明白这个算法如何计算索引5处的值方法.请详细说明!

java recursion fibonacci

151
推荐指数
9
解决办法
45万
查看次数

foldr与foldl(或foldl')的含义

首先,我正在阅读的真实世界Haskell表示永远不会使用foldl而是使用foldl'.所以我相信它.

但我对什么时候使用foldrvs. 朦胧foldl'.虽然我可以看到他们如何以不同的方式摆放在我面前的结构,但是当"哪个更好"时,我太愚蠢了.我想在我看来似乎并不重要,因为它们都产生相同的答案(不是吗?).事实上,我以前使用这个结构的经验来自Ruby inject和Clojure reduce,它们似乎没有"左"和"右"版本.(附带问题:他们使用哪个版本?)

任何有助于像我这样的智能挑战的洞察力都会非常感激!

recursion haskell functional-programming fold

150
推荐指数
7
解决办法
3万
查看次数

如何在PHP中的多维数组中使用key => value进行搜索

是否有任何快速方法可以获得在多维数组中找到键值对的所有子数组?我不能说阵列有多深.

简单示例数组:

$arr = array(0 => array(id=>1,name=>"cat 1"),
             1 => array(id=>2,name=>"cat 2"),
             2 => array(id=>3,name=>"cat 1")
);
Run Code Online (Sandbox Code Playgroud)

当我搜索key = name和value ="cat 1"时,该函数应该返回:

array(0 => array(id=>1,name=>"cat 1"),
      1 => array(id=>3,name=>"cat 1")
);
Run Code Online (Sandbox Code Playgroud)

我想这个函数必须递归才能达到最深层次.

php arrays recursion search

143
推荐指数
8
解决办法
29万
查看次数

解决方案"致命错误:达到'100'的最大功能嵌套级别,正在中止!" 用PHP

我创建了一个函数来查找html文件中的所有URL,并为链接到发现的URL的每个html内容重复相同的过程.该函数是递归的,可以无休止地继续.但是,我通过设置一个全局变量来限制递归,该变量导致递归在100次递归后停止.

但是,php会返回此错误:

致命错误:达到最大功能嵌套级别'100',正在中止!在第1355行的D:\ wamp\www\crawler1\simplehtmldom_1_5\simple_html_dom.php中

错误

我在这里找到了一个解决方案:增加嵌套函数调用限制但这在我的情况下不起作用.

我引用了上面提到的链接中的一个答案.请考虑一下.

"你是否安装了Zend,IonCube或xDebug?如果是这样的话,那可能是你从这里得到这个错误的地方.

几年前我碰到了这个问题,结果是Zend把那个限制放在那里,而不是PHP.当然,删除它会让你超过100次迭代,但最终会达到内存限制."

有没有办法增加PHP中的最大函数嵌套级别

php recursion xdebug

133
推荐指数
15
解决办法
26万
查看次数

自引用结构定义?

我没有写C很长时间,所以我不确定我应该怎么做这些递归的东西...我希望每个单元格包含另一个单元格,但我得到一个错误沿着"田地'孩子'的行具有不完整的类型".这是怎么回事?

typedef struct Cell {
  int isParent;
  Cell child;
} Cell;
Run Code Online (Sandbox Code Playgroud)

c recursion struct typedef

126
推荐指数
6
解决办法
10万
查看次数

123
推荐指数
6
解决办法
11万
查看次数

什么是递归,什么时候应该使用它?

在邮件列表和在线讨论中经常出现的主题之一是进行计算机科学学位的优点(或缺乏).似乎一次又一次地为负面派对提出的论点是,他们已编码了若干年,他们从未使用过递归.

所以问题是:

  1. 什么是递归?
  2. 我什么时候使用递归?
  3. 为什么人们不使用递归?

recursion computer-science

121
推荐指数
11
解决办法
18万
查看次数

尾递归究竟是如何工作的?

我几乎理解尾递归是如何工作的以及它与正常递归之间的区别.我只是不明白为什么它要求堆栈来记住它的返回地址.

// tail recursion
int fac_times (int n, int acc) {
    if (n == 0) return acc;
    else return fac_times(n - 1, acc * n);
}

int factorial (int n) {
    return fac_times (n, 1);
}

// normal recursion
int factorial (int n) {
    if (n == 0) return 1;
    else return n * factorial(n - 1);
}
Run Code Online (Sandbox Code Playgroud)

在尾递归函数中调用函数本身后无事可做,但对我来说没有意义.

c algorithm recursion tail-recursion

120
推荐指数
5
解决办法
2万
查看次数