mysql递归性能-漫谈递归:递归的效率问题.pdfVIP

  • 0
  • 0
  • 约2.36千字
  • 约 3页
  • 2023-12-08 发布于宁夏
  • 举报

mysql递归性能-漫谈递归:递归的效率问题.pdf

mysql递归性能_漫谈递归:递归的效率问题

递归在解决某些问题的时候使得我们思考的⽅式得以简化,代码也更加精炼,容易阅读。那么既然递归有这么多的优点,我们是不是什么问

题都要⽤递归来解决呢?难道递归就没有缺点吗?今天我们就来讨论⼀下递归的不⾜之处。谈到递归就不得不⾯对它的效率问题。

为什么递归是低效的

还是拿斐波那契(Fibonacci)数列来做例⼦。在很多教科书或⽂章中涉及到递归或计算复杂性的地⽅都会将计算斐波那契数列的程序作为经

典⽰例。如果现在让你以最快的速度⽤C#写出⼀个计算斐波那契数列第n个数的函数(不考虑参数⼩于1或结果溢出等异常情况),我不知你

的程序是否会和下列代码类似:

publicstaticulongFib(ulongn)

{

return(n==1||n==2)?1:Fib(n-1)+Fib(n-2);

}

这段代码应该算是短⼩精悍(执⾏代码只有⼀⾏),直观清晰,⽽且⾮常符合许多程序员的代码美学,许多⼈在⾯试时写出这样的代码可能⼼

⾥还会暗爽。但是如果⽤这段代码试试计算Fib(1000)我想就再也爽不起来了,它的运⾏时间也许会让你抓狂。

看来好看的代码未必中⽤,如果程序在效率不能接受那美观神马的就都是浮云了。如果简单分析⼀下程序的执⾏流,就会发现问题在哪,

文档评论(0)

1亿VIP精品文档

相关文档