试写出求递归函数F(n)的递归算法,并消除递归:
试写出求递归函数F(n)的递归算法,并消除递归:
试写出求递归函数F(n)的递归算法,并消除递归:
第1题
已知Ackerman函数定义如下:
(1)根据定义,写出它的递归求解算法;
(2)利用栈,写出它的非递归求解算法。
第2题
第3题
关于kd-树查找算法kdSearch()(教244页算法8.2),试证明以下结论:
a)在树中某一节点发生递归,当且仅当与该节点对应的子区域,与查询区域的边界相交;
b)若令Q(n)=规模为n的子树中与查询区域边界相交的子区域(节点)总数,则有:Q(n)=2+2Q(n/4)=o(√n)。
c)kdSearch()的运行时间为:o(r+√n),其中r为实际命中并被报告的点数。
d)进一步地,试举例说明,单次查询中的确可能有多达Ω(√n)个节点发生递归,故以上估计是紧的。
e)若矩形区域不保证与坐标轴平行,甚至不是矩形(比如圆),则上述结论是否依然成立?
第4题
第5题
第6题
(1)试定义该广义表的类结构,
(2)采用递归的算法对一个非递归的广义表进行遍历。
(3)试使用一个栈,实现一个非递归算法,对一个非递归广义表进行遍历。
第7题
设f是三元原始递归全函数,g定义为
(1)若h(x)=,(8(x,y))=0),则此时称h为 递归函数是否妥当?为什么?
(2)证明下列函数h是μ-递归函数:
第10题
A.称为函数的直接递归调用
B.C语言中不允许这样的递归调用
C.称为函数的循环调用
D.称为函数的间接递归调用