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

临沂 网站优化京东网站建设目的

临沂 网站优化,京东网站建设目的,ps海报素材网,安居客官网元二分搜索#xff08;Steven Skiena 在《算法设计手册》第 134 页中也称为单边二分搜索#xff09;是二分搜索的一种修改形式#xff0c;它以增量方式构建数组中目标值的索引。与普通二分搜索一样#xff0c;元二分搜索需要 O(log n) 时间。 元二分搜索#xff0c;也称为…        元二分搜索Steven Skiena 在《算法设计手册》第 134 页中也称为单边二分搜索是二分搜索的一种修改形式它以增量方式构建数组中目标值的索引。与普通二分搜索一样元二分搜索需要 O(log n) 时间。 元二分搜索也称为单边二分搜索是二分搜索算法的一种变体用于搜索有序列表或元素数组。该算法旨在减少在列表中搜索给定元素所需的比较次数。 元二分搜索背后的基本思想是从包含整个数组的大小为 n 的初始区间开始。然后该算法像二分搜索一样计算中间元素并将其与目标元素进行比较。如果找到目标元素则搜索终止。如果中间元素大于目标元素则算法将新区间设置为前一个区间的左半部分如果中间元素小于目标元素则将新区间设置为前一个区间的右半部分间隔。但是与二分搜索不同元二分搜索不会对循环的每次迭代执行比较。 相反该算法使用启发式方法来确定下一个间隔的大小。它计算中间元素的值与目标元素的值之间的差值并将差值除以预定常数通常为2。然后将该结果用作新区间的大小。该算法将继续进行直到找到目标元素或确定它不在列表中。 元二分搜索相对于二分搜索的优势在于它在某些情况下可以执行更少的比较特别是当目标元素接近列表开头时。缺点是在其他情况下该算法可能比二分查找执行更多的比较特别是当目标元素接近列表末尾时。因此当列表的排序方式与目标元素的分布一致时元二分搜索是最有效的。   这是元二分搜索的伪代码 function meta_binary_search(A, target):     n length(A)     interval_size n     while interval_size 0:         index min(n - 1, interval_size / 2)         mid A[index]         if mid target:             return index         elif mid target:             interval_size (n - index) / 2         else:             interval_size index / 2     return -1 例子 Input: [-10, -5, 4, 6, 8, 10, 11], key_to_search 10 Output: 5 Input: [-2, 10, 100, 250, 32315], key_to_search -2 Output: 0  确切的实现有所不同但基本算法有两个部分           1、计算出存储最大数组索引需要多少位。         2、通过确定索引中的每个位应设置为 1 还是 0增量构造数组中目标值的索引。方法         1、在变量 lg 中存储表示最大数组索引的位数。         2、使用 lg 在 for 循环中开始搜索。         3、如果找到该元素则返回 pos。         4、否则在 for 循环中增量构造索引以达到目标值。         5、如果找到元素则返回 pos否则返回 -1。 下面是上述方法的实现  // Javascript implementation of above approach   // Function to show the working of Meta binary search function bsearch(A, key_to_search) {     let n A.length;     // Set number of bits to represent largest array index     let lg parseInt(Math.log(n-1) / Math.log(2)) 1;        //while ((1 lg) n - 1)         //lg 1;       let pos 0;     for (let i lg ; i 0; i--) {         if (A[pos] key_to_search)             return pos;           // Incrementally construct the         // index of the target value         let new_pos pos | (1 i);           // find the element in one         // direction and update position         if ((new_pos n) (A[new_pos] key_to_search))             pos new_pos;     }       // if element found return pos otherwise -1     return ((A[pos] key_to_search) ? pos : -1); }   // Driver code       let A [ -2, 10, 100, 250, 32315 ];     document.write(bsearch(A, 10));  输出  1 时间复杂度 O(log n)其中 n 是给定数组的大小辅助空间 O(1) 因为我们没有使用任何额外空间
http://www.pierceye.com/news/921016/

相关文章:

  • wordpress多城市子站在线培训网站
  • 企业网站服务门户网站搬家怎么做
  • 免费浏览外国网站的软件防止访问网站文件夹
  • 长沙县政务网站公司介绍怎么写范本
  • 免费网站建设方案优化seo整体优化
  • 境外公司在国内建网站微信小程序登录平台
  • 手机网站页面模板企业网站建设相关书籍在线阅读
  • 服装网站建设内容asp网站服务建设论文
  • 开封 网站建设 网络推广如何用xshell安装wordpress
  • 河北建设工程信息网站银行外包不是人干的
  • 郑州免费做网站的襄阳品牌网站建设
  • 爱网站站长工具android软件开发下载
  • 网站被入侵宁波妇科医生推荐
  • 移动网站建设学习新能源汽车价格表2021
  • 如何做视频会员网站工商注册公司需要提供的资料
  • 网站做多久能盈利网站设计定做
  • 微信网站后台功能哪里买域名便宜
  • 合肥重点工程建设局密云seo排名优化培训
  • 二学一做网站福建建设资格执业注册管理中心网站
  • vps 网站上传做网站费用需要分摊吗
  • 建网站 考虑oou淘宝客图片wordpress模板
  • 玩具网站开发背景小说网站开发文档
  • 遵义网站设计公司制作网站需要
  • 做广告公司网站建设价格成都seo招聘
  • 网站建设与规划试卷友联互换
  • 宠物网站建设费用天元建设集团有限公司是国企吗
  • 南宁在百度上建网站网站设计怎么做链接
  • 多多进宝怎么做自己网站沈阳正规的男科医院
  • 做简历的网站叫什么软件外贸网站建设工作计划
  • 关键词搜索引擎网站公司要求做网站