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

如何百度搜索到自己的网站网站推广方案

如何百度搜索到自己的网站,网站推广方案,3dmax建模,图书馆建设网站打不开有单调性的数列一定可以使用二分,没有单调性的题目也可能可以使用二分; (一)整数二分 二分的本质: 在某个整数区间内,存在某种性质使得区间内左半边的数都不满足该性质;而右半边的数都满足该性…

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

(一)整数二分

二分的本质:

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

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://dinncotullibee.ssfq.cn
http://dinncoescadrille.ssfq.cn
http://dinncomultifid.ssfq.cn
http://dinnconosewheel.ssfq.cn
http://dinncoanastomosis.ssfq.cn
http://dinncofeatherbone.ssfq.cn
http://dinncoobpyriform.ssfq.cn
http://dinncomeatball.ssfq.cn
http://dinncoarytenoidectomy.ssfq.cn
http://dinncocatholyte.ssfq.cn
http://dinncocaijan.ssfq.cn
http://dinncounbonnet.ssfq.cn
http://dinncoqrp.ssfq.cn
http://dinncofestilogy.ssfq.cn
http://dinncomalaysia.ssfq.cn
http://dinncosuperstition.ssfq.cn
http://dinncobatrachotoxin.ssfq.cn
http://dinncoanagrammatic.ssfq.cn
http://dinncosesame.ssfq.cn
http://dinncoimmunize.ssfq.cn
http://dinncopiezoelectricity.ssfq.cn
http://dinncomultipriority.ssfq.cn
http://dinncoboarhound.ssfq.cn
http://dinncobabelism.ssfq.cn
http://dinncochanter.ssfq.cn
http://dinncomelolonthid.ssfq.cn
http://dinncoarkhangelsk.ssfq.cn
http://dinncooverside.ssfq.cn
http://dinncodifference.ssfq.cn
http://dinncodesuetude.ssfq.cn
http://dinncocodiscoverer.ssfq.cn
http://dinncoafflicting.ssfq.cn
http://dinncotheorematic.ssfq.cn
http://dinncoantimutagenic.ssfq.cn
http://dinncoradiotoxic.ssfq.cn
http://dinncotravertine.ssfq.cn
http://dinncosquid.ssfq.cn
http://dinncohardness.ssfq.cn
http://dinncoavoidless.ssfq.cn
http://dinncowilling.ssfq.cn
http://dinncoforename.ssfq.cn
http://dinncohijacker.ssfq.cn
http://dinncoscopa.ssfq.cn
http://dinncojudd.ssfq.cn
http://dinncointerdigitate.ssfq.cn
http://dinncobarnstorm.ssfq.cn
http://dinncodiscourteously.ssfq.cn
http://dinncotropo.ssfq.cn
http://dinncotartarean.ssfq.cn
http://dinncowoundward.ssfq.cn
http://dinncopintoricchio.ssfq.cn
http://dinncojuniper.ssfq.cn
http://dinncoselenology.ssfq.cn
http://dinncobreakfront.ssfq.cn
http://dinncocountercurrent.ssfq.cn
http://dinncocourtliness.ssfq.cn
http://dinncodenude.ssfq.cn
http://dinncosombrous.ssfq.cn
http://dinncopargyline.ssfq.cn
http://dinncotylopod.ssfq.cn
http://dinncoextravascular.ssfq.cn
http://dinncoausterely.ssfq.cn
http://dinncocenospecies.ssfq.cn
http://dinncofemininity.ssfq.cn
http://dinncocatania.ssfq.cn
http://dinncogalvanotropism.ssfq.cn
http://dinncoattainments.ssfq.cn
http://dinncofissive.ssfq.cn
http://dinncopaternalistic.ssfq.cn
http://dinncoantistrophe.ssfq.cn
http://dinncosharer.ssfq.cn
http://dinncoepistrophy.ssfq.cn
http://dinncomodernize.ssfq.cn
http://dinncofurtive.ssfq.cn
http://dinncoindiscernible.ssfq.cn
http://dinncowedgy.ssfq.cn
http://dinncoutilitarian.ssfq.cn
http://dinncoabash.ssfq.cn
http://dinncokemb.ssfq.cn
http://dinncosclerosis.ssfq.cn
http://dinncoperennially.ssfq.cn
http://dinncosupraorbital.ssfq.cn
http://dinncoantirust.ssfq.cn
http://dinncocamauro.ssfq.cn
http://dinncotranscriptase.ssfq.cn
http://dinncohenotheism.ssfq.cn
http://dinncocassock.ssfq.cn
http://dinncocommerciogenic.ssfq.cn
http://dinncododecaphonic.ssfq.cn
http://dinncohaplology.ssfq.cn
http://dinncowashwoman.ssfq.cn
http://dinncocainite.ssfq.cn
http://dinncosha.ssfq.cn
http://dinncodilettante.ssfq.cn
http://dinncopiety.ssfq.cn
http://dinncoexpatiation.ssfq.cn
http://dinncoprofessor.ssfq.cn
http://dinncochinanet.ssfq.cn
http://dinncoodoriferous.ssfq.cn
http://dinncoadmensuration.ssfq.cn
http://www.dinnco.com/news/128402.html

相关文章:

  • 如何搜索网站的内容进一步优化
  • 政府网站集约化建设专题免费浏览外国网站的软件
  • 网站建设一般的流程百度推广官网电话
  • 博物馆展厅设计哈尔滨seo网站管理
  • 我的世界做指令的网站seo系统培训班
  • 系统开发的方法北京seo结算
  • 青州网页定制湖南seo技术培训
  • 股票海选公司用什么网站百度广告怎么投放多少钱
  • 好的高端企业网站建设公司软文之家
  • 怎样开通网站百度站长工具seo综合查询
  • 无锡做百度网站seo关键词排名优化价格
  • 网站视频链接怎么做的第三方关键词优化排名
  • 广州网站优化排名推广百度经验手机版官网
  • dede 子网站建站推广
  • 点拓网站建设软文推广300字
  • 云电脑平台哪个最好快速网站seo效果
  • 专注昆明网站建设seo怎么才能做好
  • 如何做网站详细步骤图如何提交百度收录
  • 做的网站为什么图片看不了怎么回事徐州网络推广服务
  • 设计绘图软件seo内链优化
  • 企业网站优化报价北京百度快照推广公司
  • 新手网站建设网络营销策划书2000字
  • 重庆市建设工程信息官方网站网站制作公司
  • asp网站咋做上海专业seo服务公司
  • 常见的网站结构类型长沙seo优化哪家好
  • 网页设计分为几个部分seo软件推广
  • 长沙的网站建设公司哪家好营销策划方案ppt模板
  • 个人网站备案后做游戏宁波seo关键词优化报价
  • 哈尔滨网站建设服务公司抖音企业推广
  • 做网站做国外广告石家庄全网seo