java基础:递归应用---遍历文件目录
2015-02-02 20:07
387 查看
一:递归相关知识
程序调用自身的编程技巧称为递归( recursion)。
一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。用递归思想写出的程序往往十分简洁易懂。
一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
注意:
(1) 递归就是在过程或函数里调用自身;
(2) 在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口。
递归算法一般用于解决三类问题:
(1)数据的定义是按递归定义的。(Fibonacci函数)
(2)问题解法按递归算法实现。(回溯)
(3)数据的结构形式是按递归定义的。(树的遍历,图的搜索)
递归的缺点:
递归算法解题的运行效率较低。在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。
二:遍历文件目录
输出结果:
但是这样不能看出文件目录的结构,继续完善一下代码:
输出结果:
程序调用自身的编程技巧称为递归( recursion)。
一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。用递归思想写出的程序往往十分简洁易懂。
一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
注意:
(1) 递归就是在过程或函数里调用自身;
(2) 在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口。
递归算法一般用于解决三类问题:
(1)数据的定义是按递归定义的。(Fibonacci函数)
(2)问题解法按递归算法实现。(回溯)
(3)数据的结构形式是按递归定义的。(树的遍历,图的搜索)
递归的缺点:
递归算法解题的运行效率较低。在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。
二:遍历文件目录
输出结果:
但是这样不能看出文件目录的结构,继续完善一下代码:
输出结果:
相关文章推荐
- java基础知识回顾之javaIO类--File类应用:递归深度遍历文件
- JAVA基础 day22 File类的方法和应用 利用递归获取目录下的所有文件 Properties类的应用(和IO技术结合,存取配置文件) 打印流和合并流等功能类的学习应用 切割文件练习
- Java 中使用递归遍历文件目录
- java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- 递归遍历某个目录下的所有java文件
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- java遍历文件目录(采用递归)
- Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- Java基础之File类,递归删除目录与文件
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- JAVA基础回顾2 遍历指定文件目录 遍历删除目录 指定文件清单列表
- java递归遍历目录文件
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- java语言基础(80)——递归获取指定目录下所有的文件
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历