递归调用算法与相同功能的非递归算法相比,主要问题在于重复计算太多,而且调用本身需要分配额外的空间和传递数据和控制,所以时间与空间开销通常都比较大。
判断题查看答案
完成从一维数组A[n]上进行快速排序的递归算法。
简答题查看答案
对一组记录(54,38,96,23,15,72,60,45,83)进行快速排序,在递归调用中使用的栈所能达到的最大深度为()。
填空题查看答案
对用数组存储的线性表(16,15,32,11,6,30),用快速排序算法进行由小到大排序,若排序下标范围为0~5,选择元素16作为支点,调用一趟快速排序算法后,元素16在数组中的下标位置为()
填空题查看答案
将递归算法转换成对应的非递归算法时,通常需要使用()来保存中间结果。
单选题查看答案
已知Ackerman函数的定义如下: (1)写出递归算法; (2)写出非递归算法; (3)根据非递归算法,求akm(2,1)时栈的变化过程。
简答题查看答案
试写出求递归函数F(n)的递归算法,并消除递归:
简答题查看答案
已知Fibonacci数列的递归定义如下: 试写出求解fib(n)的递归算法。
简答题查看答案
实现任意二叉树的后序遍历的非递归算法而不适用栈结构,最佳的二叉树方法是采用()。
填空题查看答案