博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归算法的使用:
阅读量:7040 次
发布时间:2019-06-28

本文共 1297 字,大约阅读时间需要 4 分钟。

package algorithmimport java.io.Fileobject RecursiveApp {  def main(args: Array[String]): Unit = {    """      |递归的使用:适合于树形结构的遍历      |比较递归方式和循环方式的区别    """.stripMargin    var s0 = System.currentTimeMillis()    val res: Int = fabonacciNumber(30)    println(res)    println("recuise ops cost time "+(System.currentTimeMillis()-s0)/100+"s")    var s1 = System.currentTimeMillis()    println(fabonacci_ori(30))    println("original ops cost time "+(System.currentTimeMillis()-s1)/100+"s")    val path = "C:\\Users\\Administrator\\Desktop\\test\\NIFI"    val file = new File(path)    getFileList(file)  }  /**    * 斐波那契数的递归实现    * @param n    * @return    */  def fabonacciNumber(n:Int):Int={    if(n==1||n==2){      return 1    }else{      fabonacciNumber(n-1) + fabonacciNumber(n-2)    }  }  /**    * 斐波那契数的循环实现    * @param n    * @return    */  def fabonacci_ori(n:Int):Int={    var num1 = 1    var num2 =1    var fac = 0    for(i <- 2 until(n)){      fac = num1  + num2      num1 = num2      num2 = fac    }    fac  }  /**    * 使用递归方式遍历某个文件名称信息    * @param file    */  def getFileList(file:File){    val files: Array[File] = file.listFiles()    for(i <- 0 until(files.length)){      if(files(i).isFile()){        println(files(i).getName())      }else{        getFileList(files(i))      }    }  }}

转载地址:http://dzaal.baihongyu.com/

你可能感兴趣的文章
CSS3 pointer-events 属性小结
查看>>
Node.js 根本没有这样搞性能优化的?
查看>>
CI 之加载使用 config 文件的几种方式
查看>>
苹果产品的去中心化变迁,为 Dapps 带来什么启发? | ArcBlock 博客
查看>>
iOS蓝牙开发
查看>>
使用lamp搭建个人博客
查看>>
GCD子队列的优先级
查看>>
介绍Spring Cloud微服务架构的核心特性
查看>>
剥开比原看代码(六):比原是如何把请求区块数据的信息发出去的
查看>>
小猿圈linux之linux基础命令大全(一)
查看>>
当经历所有大厂的实习面试过后
查看>>
从BEC“代币蒸发”事件看智能合约编写注意事项
查看>>
CentOS 7 Minimal 安装 LXQT
查看>>
机器码 指令 汇编语言 的关系
查看>>
摸索 JS 内深拷贝的最佳实践
查看>>
设计师面试会遇到的问题(part1:HR篇)
查看>>
周记_
查看>>
去掉UIPickerView的弯曲弧度
查看>>
使阿里oss实现前端代码自动上传
查看>>
JavaScript中的作用域和闭包
查看>>