(简答题)
请写一非递归算法,对于任意给定的k值,该算法在长度为 n、且元素按值严格递增排列的顺序表A[1..n]中采用折半查找法查找值不大于k的最大元素,若表中存在这样的元素,则算法返回该元素在表中的位置,否则,算法返回信息0。(假设表中元素分别为一个正整数) 例如,对于顺序表A[1..10]=(2, 4, 6, 8, 10, 12, 14, 16, 18, 20), 当k=8时,满足条件的元素为8,返回位置4; 当k=13时,满足条件的元素为12,返回位置6; 当k=1时,无满足条件的元素,返回信息0。
正确答案
答案解析
略
相似试题
(简答题)
已知对二叉排序树进行中序遍历可以得到该二叉树所有结点组成的按值从小到大排列的中序序 列。若二叉树采用二叉链表存储结构,链结点构造为, 根结点指针为T,请写一非递归算法,判断该二叉树是否为二叉排序树。若是二叉排序树,算法返回1,否则,算法返回0。
(简答题)
已知长度为n的非空顺序表A[0..n-1],请写一算法,该算法删除表中重复出现的数据元素。
(简答题)
已知单链表的结点结构为,第1个结点的指针为list。请写一算法,找到链表的倒数第k个结点。若找到这样的结点,算法给出该结点的地址,否则,算法给出信息NULL。 限制:算法中不得求链表长度与逆转链表,也不允许使用除指针变量和控制变量以外的其他辅助空间。
(简答题)
已知带有头结点的非空双向循环链表的链结点构造为,头结点指针为list,请写一算法,判断该双向循环链表是否对称,若对称,算法返回1,否则,返回0。 说明:所谓链表对称是指除头结点外,链表中前后所有对称位置的结点的数据域值相同。例如下面的两个链表中,(a)是对称的,而(b)不是对称的。
(简答题)
已知整型数组A[0..m-1][0..n-1],请写一函数,该函数返回数组最外围一圈元素之和。
(简答题)
已知一整型数组a中包含100个整数,请写一程序,该程序求出(记录)该数组中最大值元素的位置。 提示:① 先通过键盘输入使数组得到数据; ② 数组中最大值元素可能不止一个,甚至可能都是最大值元素。
(简答题)
请写一程序,统计通过键盘输入的命令行中的第二个参数所包含的英文字符的个数。 提示:使用带参数的main函数形式。
(简答题)
什么是递归算法?通常情况下,递归算法在执行过程中需要借助何种数据结构?
(单选题)
在设计解决递归问题的非递归算法时,大多数情况下都要用到()结构。