首页/ 题库 / [单选题]用递归算法实现n个相异元素构成的有序序列的答案

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

单选题
2022-01-13 00:43
A、n
B、[n/2]
C、[log2n]
D、[log2(n+1)]
查看答案

正确答案
D

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

标签:
相关题目
对有18个元素的有序表作二分查找,则查找A[3]的比较序列的下标依次为( )。
若一个栈的输出序列是1,2,3,...,n,输出序列的第一个元素是n,则第i个输出元素是n-i+1。( )
在有n个无序无重复元素值的数组中查找第i小的数的算法描述如下:任意取一个元素r,用划分操作确定其在数组中的位置,假设元素r为第k小的数。若i等于k,则返回该元素值;若i小于k,则在划分的前半部分递归进行划分操作找第i小的数;否则在划分的后半部分递归进行划分操作找第k-i小的数。该算法是一种基于()策略的算法。
对长度为n的单链有序表,若查找每个元素的概率相等,则查找任一个元素的平均查找长度为 ( )。
对有n个记录的有序表采用二分查找,其平均查找长度的量级为( )。
查找 n 个元素的有序表时,最有效的查找方法是【 】。
48 对有n个记录的有序表采用二分查找,其平均查找长度的量级为( )。
对于顺序存储的有序表(5,12,20,26,37,42,46,50,64),若采用二分查找,则查找元素26的查找长度为( )。
对于长度为18的顺序存储的有序表,若采用二分查找,则查找第15个元素的查找长度为( )。
对n个元素的有序表A[1..n]进行二分(折半)查找,则成功查找到表中的任意一个元素时,最多与A中的()元素进行比较。
用二分查找法对具有n个节点的线性表查找一个节点所需的平均比较次数为( )。
若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用(14)算法,因为(15)。
●若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用 (26) 算法,因为 (27) 。
查找n个元素的有序表时,最有效的查找方法是()
若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用(26)算法,因为(27)。
●若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用 (26) 算法,因为 (27) 。
一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程()。
凡是递归定义的数据结构都可以用递归算法来实现它的操作。
在下列结论中,只有一个是错误的,它是( )。A.C语言允许函数的递归调用B.C语言中的continue语句,可以通过改变程序的结构而省略C.有些递归程序是不能用非递归算法实现的D.C语言中不允许在函数中再定义函数
若栈顶指针指向栈顶元素,当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。
广告位招租WX:84302438

免费的网站请分享给朋友吧