首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于处理文件和目录的程序来说,“递归”意味着什么?

对于处理文件和目录的程序来说,“递归”意味着什么?
EN

Software Engineering用户
提问于 2013-01-23 17:47:25
回答 1查看 27.1K关注 0票数 7

我知道什么是递归在编程中。我确实了解版本控制系统的基本知识(使用了svn,也就是说)。但对于版本控制系统,我经常想知道“递归”或“递归”的含义是什么。

调用自己的函数与处理版本控制系统中的文件和目录有什么关系?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2013-01-23 18:00:18

在这种情况下,“递归”的具体含义是“对目录及其内容,包括任何子目录的内容进行操作”。

此处使用“递归”一词,因为至少在概念上,这很容易由递归算法实现:

代码语言:javascript
复制
procedure check_in_directory (d : directory)
    for each entry e in d             <== recursive exit after last entry in directory
        if e is a file
            check_in_file(f)
        if e is a directory
            check_in_directory(e)     <== recursive call

此过程的递归结构与目录的递归定义匹配:

  • 一个目录包含零或多个目录条目。
  • 目录条目要么是文件要么是目录。

这种方法--编写一个其结构与您正在处理的数据类型的定义相匹配的函数--通常称为结构递归。

票数 31
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/184596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档