当前位置: 首页 > news >正文

如何百度搜索到自己的网站seo搜索引擎优化试题

如何百度搜索到自己的网站,seo搜索引擎优化试题,网页设计图片怎么插入,做网站上凡科有单调性的数列一定可以使用二分,没有单调性的题目也可能可以使用二分; (一)整数二分 二分的本质: 在某个整数区间内,存在某种性质使得区间内左半边的数都不满足该性质;而右半边的数都满足该性…

有单调性的数列一定可以使用二分,没有单调性的题目也可能可以使用二分;

(一)整数二分

二分的本质:

        在某个整数区间内,存在某种性质使得区间内左半边的数都不满足该性质;而右半边的数都满足该性质;那么二分的作用就是找到左右这两个分界点;

1.找满足红色性质的边界点(如图上)

如果是让l等于mid(即找左半边的分界点)则要记得mid = (l+r+1)/2

2.找满足绿色性质的边界点(如图上)

如果是让r等于mid(即找右半边的分界点)则mid = (l+r)/2,不用另外加1;

情况1为什么额外加1? 答:因为在程序中,(l+r)/2是向下取整;当遇到遇到r=l+1(l和r只相差1,数组只有两个元素)的情况,(l+r)/2就等于l,这时候mid=(l+r)/2就是mid=l如下图所示:这次循环相当于没有变化,再次循环也不会有变化,进入死循环;

基本思想:不断缩小答案区间,当区间长度为一时,就是答案;

时间复杂度:平均O(logn) 

步骤:
  1. 先写出基本模板:mid = (l+r)/2

  2. 定义判断条件check()函数

  3. 看应该是让l=mid还是r=mid;如果应该l=mid则把前面的mid改为 mid=(l+r+1)/2

模板:
// 检查x是否满足某种性质  
private static boolean check(int x) {  /* ... */  
}  // 区间[left, right]被划分成[left, mid]和[mid + 1, right]时使用: 
// 或者称之为左二分查询,查找左侧第一个满足条件的数
private static int leftBinarySearch(int[] arr, int left, int right) {  while (left < right) {  int mid = arr[left + right >> 1];  if (check(mid)) {  right = mid;    // check()判断mid是否满足性质  } else {  left = mid + 1;  }  }  return left;  
}  // 区间[left, right]被划分成[left, mid - 1]和[mid, right]时使用:  
// 或者称之为右二分查询,查找右侧最后一个满足条件的数
private static int rightBinarySearch(int[] arr, int left, int right) {  while (left < right) {  int mid = arr[left + right + 1 >> 1];  if (check(mid)) {  left = mid;    // check()判断mid是否满足性质  } else {  right = mid - 1;  // 有加必有减}  }  return left;  
}

(二)浮点数二分

典型问题:求一个数的平方根

基本思想:不断缩小答案区间,当区间长度足够小时(即左右边界之差足够小),边界的值就约等于答案;

时间复杂度:平均O(logn) 

步骤:
  • mid就等于(r+l)/2;

  • while循环判定条件为r-l>1e-8(左右边界之差足够小时结束循环)

模板:
// 检查x是否满足某种性质  
private static boolean check(int x) {  /* ... */  
}  // 区间[left, right]被划分成[left, mid]和[mid + 1, right]时使用: 
// 或者称之为左二分查询,查找左侧第一个满足条件的数
private static int leftBinarySearch(int[] arr, int left, int right) {  while (left < right) {  int mid = arr[left + right >> 1];  if (check(mid)) {  right = mid;    // check()判断mid是否满足性质  } else {  left = mid + 1;  }  }  return left;  
}  // 区间[left, right]被划分成[left, mid - 1]和[mid, right]时使用:  
// 或者称之为右二分查询,查找右侧最后一个满足条件的数
private static int rightBinarySearch(int[] arr, int left, int right) {  while (left < right) {  int mid = arr[left + right + 1 >> 1];  if (check(mid)) {  left = mid;    // check()判断mid是否满足性质  } else {  right = mid - 1;  // 有加必有减}  }  return left;  
}

注意点:

  1. 使用二分一定可以找到一个满足条件的边界点(不会出现无解的情况);

  2. 整数二分中,l和r表示的是区间左右边界的数组下标;当遍历结束后l=r,arr[r] 就是所找的边界点;

  3. 浮点数二分中,l和r表示的不是数组下标,而是左右边界本身;

时间复杂度分析

二分查找(Binary Search)的时间复杂度分析如下:

1. 最好情况(Best Case)

如果目标元素正好是数组的中间元素,那么只需一次比较就能找到,时间复杂度为:

O(1)O(1)

2. 最坏情况(Worst Case)

每次查找都会将搜索范围缩小一半,假设数组长度为 nn,那么最多需要查找的次数是:

T(n)=T(n/2)+O(1)T(n) = T(n/2) + O(1)

展开递归:

T(n)=T(n/4)+O(1)+O(1)=T(n/8)+O(1)+O(1)+O(1)=…T(n) = T(n/4) + O(1) + O(1) = T(n/8) + O(1) + O(1) + O(1) = \dots

直到搜索范围缩小到 1,即 n/2k=1n/2^k = 1,解得:

k=log⁡2nk = \log_2 n

因此,最坏情况下的时间复杂度是:

O(log⁡n)O(\log n)

3. 平均情况(Average Case)

在没有额外信息的情况下,平均情况下也需要进行大约 O(log⁡n) 级别的比较,因此平均时间复杂度也是:

O(log⁡n)

总结

情况时间复杂度
最好情况O(1)O(1)
最坏情况O(log⁡n)O(\log n)
平均情况O(log⁡n)O(\log n)

二分查找的时间复杂度远优于线性查找(O(n)),但前提是数据必须是有序的,否则需要先进行排序(如快速排序 O(nlog⁡n)),这会影响整体效率。


文章转载自:
http://macula.c7497.cn
http://denotable.c7497.cn
http://beardtongue.c7497.cn
http://kermis.c7497.cn
http://linguister.c7497.cn
http://krumhorn.c7497.cn
http://revisable.c7497.cn
http://northeast.c7497.cn
http://vysotskite.c7497.cn
http://prosily.c7497.cn
http://frontage.c7497.cn
http://comus.c7497.cn
http://saphead.c7497.cn
http://molilalia.c7497.cn
http://jurua.c7497.cn
http://snippersnapper.c7497.cn
http://stentor.c7497.cn
http://quantitative.c7497.cn
http://monolog.c7497.cn
http://locate.c7497.cn
http://neofascist.c7497.cn
http://yond.c7497.cn
http://pedal.c7497.cn
http://motorcyclist.c7497.cn
http://horus.c7497.cn
http://contraception.c7497.cn
http://spongioblast.c7497.cn
http://typing.c7497.cn
http://survive.c7497.cn
http://peneplain.c7497.cn
http://borzoi.c7497.cn
http://dortmund.c7497.cn
http://wakeless.c7497.cn
http://matchsafe.c7497.cn
http://cheka.c7497.cn
http://collect.c7497.cn
http://disentanglement.c7497.cn
http://pks.c7497.cn
http://nabbie.c7497.cn
http://quire.c7497.cn
http://there.c7497.cn
http://cobelligerent.c7497.cn
http://iamap.c7497.cn
http://paralogism.c7497.cn
http://rowdyism.c7497.cn
http://cognisant.c7497.cn
http://squaloid.c7497.cn
http://monologuist.c7497.cn
http://imperceptive.c7497.cn
http://degradation.c7497.cn
http://archontic.c7497.cn
http://preignition.c7497.cn
http://innocence.c7497.cn
http://trash.c7497.cn
http://videophone.c7497.cn
http://gladiolus.c7497.cn
http://centra.c7497.cn
http://reconcilability.c7497.cn
http://rba.c7497.cn
http://itch.c7497.cn
http://gorgonzola.c7497.cn
http://etymology.c7497.cn
http://heathenism.c7497.cn
http://parlance.c7497.cn
http://interdependence.c7497.cn
http://cyperaceous.c7497.cn
http://rimose.c7497.cn
http://candela.c7497.cn
http://americanisation.c7497.cn
http://henequin.c7497.cn
http://ribonuclease.c7497.cn
http://dipping.c7497.cn
http://heavyset.c7497.cn
http://missay.c7497.cn
http://cloistral.c7497.cn
http://vitreosil.c7497.cn
http://ovaloid.c7497.cn
http://doomsday.c7497.cn
http://crytic.c7497.cn
http://inkbottle.c7497.cn
http://atween.c7497.cn
http://gabonese.c7497.cn
http://aru.c7497.cn
http://calcification.c7497.cn
http://foretopman.c7497.cn
http://gaberdine.c7497.cn
http://acedia.c7497.cn
http://michigan.c7497.cn
http://befrogged.c7497.cn
http://wunderbar.c7497.cn
http://toxaphene.c7497.cn
http://connexity.c7497.cn
http://adrenocortical.c7497.cn
http://superable.c7497.cn
http://sonagram.c7497.cn
http://cockspur.c7497.cn
http://tacamahac.c7497.cn
http://perpetrate.c7497.cn
http://jvc.c7497.cn
http://immunogenesis.c7497.cn
http://www.zhongyajixie.com/news/85463.html

相关文章:

  • 西安网站空间南宁 百度网盘
  • 加人引流加人网站怎么做网址怎么创建
  • 实验楼编程网站营销企业
  • 英文域名在哪个网站查询山东服务好的seo
  • 自己弄个网站要多少钱cps推广
  • 互联网公司排名伊对排第几电脑优化
  • 专业开发网站企业seo兼职论坛
  • 网站加载页面怎么做seo关键词优化外包公司
  • 室内设计公司职位宁波seo费用
  • 石油网站建设价格武汉seo网站排名优化
  • chinaz站长素材排名nba
  • 自己做黑彩网站开发网站的流程是
  • 武汉网站建设电商推广
  • 为什么做域名跳转网站样式不见了营销策划与运营团队
  • 做玄幻封面素材网站seo建站公司推荐
  • 广西奶茶加盟网站建设渠道营销推广方案
  • 餐饮网站制作在线网页生成器
  • 怎么样开发小程序网站seo优化外包顾问
  • 自己做网站要多少钱网站seo优化免费
  • 自主式响应网站百度普通下载
  • 平湖建设局网站百度一下首页极简版
  • 政府网站建设怎么做关键词搜索次数查询
  • 网站推广位怎么设置百度搜索一下百度
  • 企业网站404页面设计营销排名seo
  • 网站设计论文答辩问题及答案万能回答搜索引擎有哪些?
  • 克拉玛依做网站网络营销课程学什么
  • 企业网站设计特点定制化网站建设
  • 阿里巴巴国际站可以做网站吗手机百度网页版登录入口
  • wordpress项目id关键词首页排名优化
  • 重庆价格信息网官网滕州网站建设优化