首页 > 试题广场 >

递归算法一般需要利用哪种数据结构实现?

[单选题]
递归算法一般需要利用哪种数据结构实现?
  • 数组
  • 链表
  • 队列
今天说的是栈与递归的关系,函数的递归调用和普通函数调用是一样的。当程序执行到某个函数时,将这个函数进行入栈操作,在入栈之前,通常需要完成三件事。 1、将所有的实参、返回地址等信息传递给被调函数保存。 2、为被调函数的局部变量分配存储区。 3、将控制转移到北调函数入口。 当一个函数完成之后会进行出栈操作,出栈之前同样要完成三件事。 1、保存被调函数的计算结果。 2、释放被调函数的数据区。 3、依照被调函数保存的返回地址将控制转移到调用函数。 上述操作必须通过栈来实现,即将整个程序的运行空间安排在一个栈中。每当运行一个函数时,就在栈顶分配空间,函数退出后,释放这块空间。所以当前运行的函数一定在栈顶。 (注:摘自严蔚敏等人的数据结构c语言版)
发表于 2022-01-14 23:46:37 回复(2)
d 递归的过程就是压栈的过程,先把数据压进栈,递归结束时,开始一一出栈
发表于 2016-04-12 10:30:43 回复(0)
d
发表于 2015-01-04 15:18:39 回复(0)