Questions tagged «recursion»

递归是一种函数调用,其中函数调用自身。这样的函数也称为递归函数。结构递归是一种解决问题的方法,其中问题的解决方案取决于对同一问题的较小实例的解决方案。




10
递归查找具有特定扩展名的文件
我正在尝试使用bash(最新的Ubuntu LTS版本)在目录及其子目录中找到具有特定扩展名的所有文件。 这是在脚本文件中写的: #!/bin/bash directory="/home/flip/Desktop" suffix="in" browsefolders () for i in "$1"/*; do echo "dir :$directory" echo "filename: $i" # echo ${i#*.} extension=`echo "$i" | cut -d'.' -f2` echo "Erweiterung $extension" if [ -f "$i" ]; then if [ $extension == $suffix ]; then echo "$i ends with $in" else …
436 linux  bash  recursion 

17
Python中的最大递归深度是多少,以及如何增加?
我在这里有这个尾部递归函数: def recursive_function(n, sum): if n < 1: return sum else: return recursive_function(n-1, sum+n) c = 998 print(recursive_function(c, 0)) 它工作到了n=997,然后它破裂并吐出了RecursionError: maximum recursion depth exceeded in comparison。这仅仅是堆栈溢出吗?有办法解决吗?
421 python  recursion 

17
如何在具有子目录和时间的目录中递归地查找和列出最新的修改文件?
作业系统:Linux 文件系统类型:ext3 首选解决方案:bash(脚本/脚本),ruby,python 我有几个目录,其中有几个子目录和文件。我需要列出所有这些目录的清单,这些清单的构建方式应使其中每个第一级目录都在其中最新创建/修改的文件的日期和时间旁边列出。 为了澄清,如果我触摸文件或在几个子目录级别下修改其内容,则该时间戳应显示在第一级目录名称旁边。假设我有一个结构如下的目录: ./alfa/beta/gamma/example.txt 并且我修改了文件的内容example.txt,我需要将该时间alfa以人类可读的形式(而不是时期)显示在第一级目录旁边。我已经使用find尝试了一些东西,xargs,sort和喜欢,但我不能得到解决,当我创建“阿尔法”的文件系统时间戳不会更改/修改文件几级下降的问题。

19
从递归到迭代的方法
在多年的编程中,我已经使用了很多递归来解决简单的问题,但是我完全意识到有时由于内存/速度问题而需要迭代。 因此,在很久以前的某个时候,我去尝试寻找是否存在将通用递归方法转换为迭代的任何“模式”或教科书方法,却一无所获。或至少没有什么我能记住的会有所帮助。 有一般规则吗? 有没有“模式”?


10
如何在多个文件中搜索字符串并在Powershell中返回文件名?
几天前,我已经开始学习Powershell,但在Google上找不到我需要的任何东西,因此请耐心等待。 我被要求将一些文本字符串替换为多个文件。我不一定知道可能目标文件的扩展名,也不知道它们的位置。到目前为止,我已经设法递归浏览到目录(get-ChildItem -recurse),并使用get-content和select-string找到了我正在寻找的字符串: Get-ChildItem -recurse | Get-Content | Select-String -pattern "dummy" 问题是,我可以看到要查找的文本的出现,但是我不知道如何告诉PS返回每个匹配文件的路径和名称。 如何获取包含要查找的表达式的文件的名称和位置?

12
递归比循环快吗?
我知道递归有时比循环要干净得多,并且我什么时候不应该在迭代中使用递归就没有任何疑问,我知道已经有很多问题了。 我要问的是,递归是否比循环快?在我看来,与循环函数相比,您总是能够完善一个循环并使其执行得更快,因为没有循环不断地建立新的堆栈框架。 我专门在寻找在应用程序中正确使用递归的应用程序中递归是否更快,例如某些排序函数,二进制树等。

5
确定递归函数的复杂度(Big O表示法)
明天我有计算机科学中期课程,我需要帮助确定这些递归函数的复杂性。我知道如何解决简单的案例,但我仍在尝试学习如何解决这些较困难的案例。这些只是我无法弄清楚的一些示例问题。任何帮助将不胜感激,将极大地帮助我的学习,谢谢! int recursiveFun1(int n) { if (n <= 0) return 1; else return 1 + recursiveFun1(n-1); } int recursiveFun2(int n) { if (n <= 0) return 1; else return 1 + recursiveFun2(n-5); } int recursiveFun3(int n) { if (n <= 0) return 1; else return 1 + recursiveFun3(n/5); } void …


30
递归还是迭代?
如果我们在算法可以使用相同目的的情况下使用循环而不是递归,反之亦然吗?例如:检查给定的字符串是否是回文。我已经看到许多程序员使用递归来证明简单的迭代算法何时可以胜任。编译器在决定使用什么时起重要作用吗?

20
了解递归[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我在学校了解递归时遇到了很大的麻烦。每当教授在谈论它时,我似乎都明白了,但是只要我自己尝试一下,它就会完全让我震惊。 我整夜试图解决河内塔楼,这完全让我震惊。我的教科书只有大约30页的递归,所以它不太有用。有谁知道可以帮助阐明这一主题的书籍或资源?

14
在Linux CLI中以相对于当前目录的路径递归列出文件
这类似于此问题,但我想在Unix中包括相对于当前目录的路径。如果我执行以下操作: ls -LR | grep .txt 它不包括完整路径。例如,我具有以下目录结构: test1/file.txt test2/file1.txt test2/file2.txt 上面的代码将返回: file.txt file1.txt file2.txt 如何使用标准Unix命令使其包含相对于当前目录的路径?
224 linux  unix  recursion  ls 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.