当前位置:启航官网 > 考研报考 > 试题

已知有如下两种搜索策略:①bool Search1(int a[], int n

2025-03-28 14:31:29

512

已知有如下两种搜索策略:

①bool Search1(int a[], int n, int target, int &pos)

{

int i;

for (i = 0; i < n; i++)

if (a[i] == target)

{

pos = i;

return true;

}

pos = -1;

return false;

}

②bool Search2(int a[], int n, int target, int &pos)

{

int f = 0, e = n - 1, m;

while (f < e)

{

m = (f + e) / 2;

if (target > a[m])

f = m + 1;

else if (target < a[m])

e = m - 1;

else

{

pos = m;

return true;

}

}

pos = -1;

return false;

}

请使用大O标记法给出它们各自的时间复杂度,哪种策略更优?

策略②是否适用于有序的单向链?简述你的理由。

查看答案和解析

【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。

免责声明:本平台部分帖子来源于网络整理,不对事件的真实性负责,具体考研相关内容请以各院校的官网通知为准。 如果本站文章侵犯到您的权利,请联系我们(400-108-7500)进行删帖处理。
下一篇 最后一页

启航教育热门私房课

MORE
  • 26考研VIP领学计划

    全程跟进
    形式:线上+线下
     

    查看详情

    在线咨询

  • 25考研专属VIP班

    联报优惠
    形式:线上
     

    查看详情

    在线咨询

  • 25在职考研课程

    专为在职人定制
    形式:线上
     

    查看详情

    在线咨询

2025考研

小班面授 名额有限 抢先体验

点击预约 

为你推荐