早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

用递归算法实现n个相异元素构成的有序序列的二分查找,采用一个递归工作栈时,该栈的最小容量应为(

题目

用递归算法实现n个相异元素构成的有序序列的二分查找,采用一个递归工作栈时,该栈的最小容量应为(11)。

A.n

B.[n/2]

C.[log2n]

D.[log2(n+1)]

参考答案
正确答案:D
解析:根据二分查找的过程,由于需要栈结构实现递归算法,栈的容量应该要保证能存放查找失败时所有未完成运行的算法的活动记录。第一次调用该算法时,栈中加入了一条查找记录,表示待查有序表中元素的个数为n:第二次调用时,无论是在前半区还是在后半区进行查找,栈中又加入了一条查找记录,所确定的查找区间中的元素最多为n/2:第三次调用时,栈中又加入了—条查找记录,所确定的查找区间中的元素最多为n/4。依次类推,当所确定的查找区间中的元素为。时,递归调用该算法的次数为log2(n+1)次,查找结束。
看了用递归算法实现n个相异元素构成...的网友还看了以下: