递归函数的利弊

weixin_42700036 2018-07-17 10:56:43
递归函数方便了程序员——用一段短小精悍的代码便描述了一个复杂的算法(处理过程)。

害苦了处理器和内存——处理器一遍遍地调用函数、内存一层层地建立函数栈帧,再一层层地退栈。这将是不小的系统开销。更为可怕的是递归可能造成栈溢出。

不要随意使用递归函数,除非你清楚的了解内存的使用后果。
...全文
993 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2018-07-31
  • 打赏
  • 举报
回复
引用 7 楼 DelphiGuy 的回复:
没有比较就没有伤害...


伤害 改成 竞合 ~
  • 打赏
  • 举报
回复
没有比较就没有伤害...
ooolinux 2018-07-30
  • 打赏
  • 举报
回复
引用 5 楼 draculamx 的回复:
我对递归的印象就是一个字:慢。。。


有比较才会慢。
draculamx 2018-07-30
  • 打赏
  • 举报
回复
我对递归的印象就是一个字:慢。。。
geochway 2018-07-23
  • 打赏
  • 举报
回复
这还用说,能用简洁的递归算法当然应该首选了,在堆栈上那一点消耗根本不是什么大问题,
况且递归调用的深度编程时也是容易预估到的,那就看你如何控制和优化算法了。
  • 打赏
  • 举报
回复
l理论上来说,所有递归算法都能转化为递推算法
titan_ysl 2018-07-18
  • 打赏
  • 举报
回复
对于一般人来说,递归很容易出错,且不易维护,如有其它方法实现,就尽量不要用。当然,喜欢玩代码,并以此为乐的人不在此列。
ooolinux 2018-07-17
  • 打赏
  • 举报
回复
一般情况,能用递归就用递归吧,代码简洁,好理解。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧