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

企业网站推广 知乎有哪些实用的网络推广方法

企业网站推广 知乎,有哪些实用的网络推广方法,做网站需要留什么条件,重庆网站推广策划方案算法 - 二分查找 今天继续八股文学习,看一下比较常规的几个算法 二分查找是一个基于分治策略的搜索方法,简单的理解就是每次都缩小一轮搜索范围,从中间search一次,直到搜索到结果或者为空为止。 基本思路(设一个有序的…

算法 - 二分查找

今天继续八股文学习,看一下比较常规的几个算法

二分查找是一个基于分治策略的搜索方法,简单的理解就是每次都缩小一轮搜索范围,从中间search一次,直到搜索到结果或者为空为止。

基本思路(设一个有序的数组为nums,需要查询的值是target)

  1. 设置 i = 0,j = n -1。i就是数组开头的第一个索引值,j就是最后一个索引值。
  2. 如果i > j 了,证明查询结束了没有找到结果。
  3. 然后设置一个值为m,这个m就是减少的搜索范围(应该说成是每次拿数组中间的那个值,数组的中间索引),m = (i + j )/ 2 ,有的时候会有小数,所以这个时候需要取整。
  4. 如果target的值小于数组中间的值(也就是索引值是m的值),那就意味着这个值在中间值的左边(数组中间的靠左的位置),所以 j = m - 1,数组的最大值挪到了中间值靠左的位置,然后我们再重复回到第二步继续跑。
  5. 如果target的值大于数组中间的值,意味着这个值在中间值的右边,所以 i = m + 1,数组的最小值挪到了中间值靠右的位置,然后再重复回到第二步继续跑。
  6. 当索引值m = target的时候,就直接return返回查询的结果值。
/*** 二分查找* <p>* 基于分治策略的的高效搜索方法。* <p>* 每轮都缩小一般的搜索范围,直到搜索到结果或者区间的结果为空的时候停止。*/
public class BinarySearch {// 只能用于有序的数组的排序public static void main(String[] args) {int[] nums   = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};int   target = 11;System.out.println(binarySearch(nums, target));}/*** nums*/public static int binarySearch(int[] nums, int target) {// 第一位的索引值var i = 0;// 最后一位的索引值var j = nums.length - 1;while (i <= j) {// 先拿一个中间点,并且需要取整,因为有时候可能回出现小数点int m = i + (j - i) / 2;// 如果中间值的小于目标值,则往中间值的左边靠if (nums[m] < target) {i = m + 1;} else if (nums[m] > target) { // 如果中间值大于目标值,则往中间值的右边靠j = m - 1;} else {return m;}}// 如果找不到元素返回 -1return -1;}
}

优点

在时间和空间方面都有较好的性能。

二分查找的时间效率高,不需要额外的空间。

局限性

二分查找仅适用于有顺序的数据,如果单独为了跑这个二分查找再进行一次排序就得不偿失了,并且二分查找仅适用于在数组上跑,因为二分查找需要频繁的移动指针,跳跃式访问,链表执行跳跃式访问的效率比较低。当数据量小的时候使用线性查找比二分查找的效率要高。(下一篇写一下线性查找)

http://www.yidumall.com/news/49714.html

相关文章:

  • 偷拍做自拍视频网站百度seo多久能优化关键词
  • 百度竞价排名又叫seo专家招聘
  • ps怎么网站首页谁能给我个网址
  • 山东网络优化公司排名seo网址超级外链工具
  • 动态手机网站怎么做的南昌seo网站管理
  • 分析网站日志文件营销推广内容
  • 188旅游网站管理系统源码申泽seo
  • 中石化第五建设有限公司官方网站网络排名优化软件
  • 广州移动端网站建设网络营销的原理
  • 传统网站开发竞价托管选择微竞价
  • 温州网站制作策划东莞网站seo技术
  • 网站资源做外链教育培训机构招生方案
  • 广平专业做网站最佳bt磁力猫
  • 中文网站建设中模板网络推广优化seo
  • 汕头网站优化系统全球十大搜索引擎排名及网址
  • 建设网站的公司专业服务seo优化实训总结
  • 河北住房城乡建设委门户网站武汉seo论坛
  • 免费网站推广ymdir深圳网络推广哪家公司好
  • 用ps给旅游网站做前端网页网站是怎么做的
  • 高端定制网站开发需要多少钱如何引流推广
  • 个人网站制作方法搜索引擎营销的英文简称
  • 重庆的网站建设公司网络培训平台有哪些
  • 网站如何做吸引人的项目杭州关键词优化测试
  • 自然资源网站官网信息服务平台有哪些
  • 网站怎么做网络推广游戏推广代理app
  • 福州医疗网站建设sem竞价课程
  • 湖北做网站找谁大二网页设计作业成品
  • 东莞公司注册服务平台网站优化排名推广
  • 个人备案公司网站seo都用在哪些网站
  • 电商个人网站建设非企户百度推广