首页 >>  正文

栈在递归调用中应用

来源:baiyundou.net   日期:2024-09-22

何山战2556能不能简单的介绍一下递归函数的作用、和定义.初学者,谢谢啦! -
季左咬14728811494 ______ 递归是程序设计中最常用的方法之一,许多程序设计语言都提供递归调用的功能.有些问题用递归方法求解往往使程序非常简单清晰.栈在实现递归调用中起了关键作用. 递归函数的定义 一个直接调用自己或通过一系到的调用语句间接地调用...

何山战2556栈在经典计算机科学中的解释是什么呢?
季左咬14728811494 ______ 栈可以用来在函数调用的时候存储断点,做递归时要用到栈!以上定义是在经典计算机科学中的解释

何山战2556为什么将递归转换成非递归通常用的数据结构是栈 -
季左咬14728811494 ______ 在实现函数zd调用的时候,系统底层就是用栈来保存函数运行现场的;具体来说,每次调用函数时,会把当前函数的局部变量和返回地址都压栈保存起来,当函数调用结束返回的时候,再把局部变量从栈里弹出来. 而递归的核心就是重复的函数调用.因此如果要变成非递归,就可能需要自己实现栈数据结构用来保存一些状态变量;这其实就是在模拟函数调用.

何山战2556递归调用时系统需要利用一个( )来实现数据和控制的转移. -
季左咬14728811494 ______ D,栈,利用一个系统堆栈来实现递归.也可以自己建栈来实现

何山战255658、下列关于栈的叙述中,错误的是. Ⅰ采用非递归形式重写递归程序...
季左咬14728811494 ______[答案] 1.c 2.c.3.c 4.c 5.a 6.a 7.b 8.b 9.b 10.b 11.a 12.b 13.b 14.b 15.b 16.a 17.c 18.d 19.c 20.d 21.b 22.c 23.b

何山战2556请问一下,递归函数是否有一定限制?例如栈的大小和栈的数量? -
季左咬14728811494 ______ 肯定是有限制的. 递归是很消耗堆栈资源的,递归次数太多了肯定会溢出的.确切地说,是函数调用本身就会消耗堆栈资源,不过函数调用结束的时候这个函数使用的堆栈空间会被返还,所以问题不大,很少能看到程序栈满的情况.但是递归是个例外,它是一个函数循环调用自身的过程,在递归结束之前,堆栈使用量会一直增长.程序会不会溢出,就看在栈满之前,你的递归函数能否返回···· windows中的程序栈具体多大还真不太清楚.但是强烈建议不要用递归,因为那个实在是消耗有点大.递归是种编程的理念,但是实际用到的比较少,毕竟谁都知道这个东西次数多了会溢出. 直接把代码改一改,改成迭代不就完事了.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024