A.二分法数据查找,最多需要n 次比较
B.将中间位置的元素和要查找元素进行比较,若相等,则查找成功
C.如果中间位置元素的值不等于要查找元素,则修改查找范围,继续进行二分法查找
D.二分法查找的效率比顺序查找高,但是只能适用于有序表,且限于顺序存储结构
A.二分法数据查找,最多需要n 次比较
B.将中间位置的元素和要查找元素进行比较,若相等,则查找成功
C.如果中间位置元素的值不等于要查找元素,则修改查找范围,继续进行二分法查找
D.二分法查找的效率比顺序查找高,但是只能适用于有序表,且限于顺序存储结构
A.二分法数据查找,最多需要n 次比较
B.将中间位置的元素和要查找元素进行比较,若相等,则查找成
C.如果中间位置元素的值不等于要查找元素,则修改查找范围,继续进行二分法查找
D.二分法查找的效率比顺序查找高,但是只能适用于有序表,且限于顺序存储结构
【Ex-9-3】线性表中各结点的查找概率不等,则可用如下策略提高顺序查找的效率。若找到与给定值相匹配的元素,则将该元素与其直接前驱元素(若存在)交换,使得经常被查找的元素尽量位于表的前端。下面算法的功能是:在线性表的顺序存储表示和链接存储表示的基础上实现顺序查找。请在空白处填入正确的语句。 【解答】: (1) int SeqSearch (SeqList &L, elemType x ) { // 在顺序表 L 中从表的前端开始查找与给定值 x 匹配的元素,找到后与它前一个元素 //(若有)交换位置,再返回新的位置(注意地址从 0 开始)。 int i = 0; elemType temp; while (__________①__________ ) i++; if (_____②_________ ) return 0; //查找不成功 else { //查找成功 if (i > 0 ) { temp = L.elem[i - 1]; L.elem[i - 1] = L.elem[i]; L.elem[i] = temp; } return i; } } (2) LinkNode *LinkSearch (LinkList &L, elemType x ) { LinkNode *p = L->link, _______③_________; while (p != NULL && p->elem != x ) { ppre = pre; _____④_____; p = p->link; } if (p != NULL && pre != L ) { //查找成功,交换结点 p 与 pre _______⑤_______; p->link = pre; ppre->link = p; } return p; }
设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过()。
A.log2+1
B.log2(n-1)
C.log2n
D.log2(n+1)
对于静态表的顺序查找法,若在表头设置监视哨,则正确的查找方式为()
A.从第0个元素往后查找该数据元素
B.从第1个元素往后查找该数据元素
C.从第n个元素往开始前查找该数据元素
D.与查找顺序无关
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!