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

做名片上什么网站百度怎么做网站

做名片上什么网站,百度怎么做网站,WordPress文章上传图片,wordpress通过api发送邮件插值查找(Interpolation Search) 插值查找是一种改进的二分查找,适用于均匀分布的有序数组。它通过预测要查找的值可能的位置来减少搜索次数。 public class InterpolationSearch {public static int interpolationSearch(int[] arr, int t…

插值查找(Interpolation Search)

插值查找是一种改进的二分查找,适用于均匀分布的有序数组。它通过预测要查找的值可能的位置来减少搜索次数。

public class InterpolationSearch {public static int interpolationSearch(int[] arr, int target) {int left = 0, right = arr.length - 1;while (left <= right && target >= arr[left] && target <= arr[right]) {// 计算插值位置int pos = left + ((target - arr[left]) * (right - left)) / (arr[right] - arr[left]);if (arr[pos] == target) {return pos;}if (arr[pos] < target) {left = pos + 1;} else {right = pos - 1;}}return -1; // 未找到}public static void main(String[] args) {int[] arr = {10, 20, 30, 40, 50, 60, 70, 80, 90};int target = 50;int index = interpolationSearch(arr, target);System.out.println(index == -1 ? "未找到" : "找到索引: " + index);}
}

斐波那契查找(Fibonacci Search)

斐波那契查找基于斐波那契数列来划分搜索区域,适用于数据量大、顺序存储、访问代价较高的场景(如磁盘存储)。

import java.util.Arrays;public class FibonacciSearch {// 获取斐波那契数列public static int[] fibonacci(int size) {int[] fib = new int[size];fib[0] = 0;fib[1] = 1;for (int i = 2; i < size; i++) {fib[i] = fib[i - 1] + fib[i - 2];}return fib;}public static int fibonacciSearch(int[] arr, int target) {int n = arr.length;int fibSize = 20; // 预设的斐波那契数列大小int[] fib = fibonacci(fibSize);// 找到最小的斐波那契数,使其大于等于 nint k = 0;while (fib[k] < n) {k++;}// 创建扩展数组int[] temp = Arrays.copyOf(arr, fib[k]); // 长度扩展至 fib[k]for (int i = n; i < fib[k]; i++) {temp[i] = arr[n - 1]; // 用最大元素填充}int left = 0;  // 左边界int right = n - 1;  // 右边界while (left <= right) {int mid = left + fib[k - 2] - 1; // 计算 mid 位置if (temp[mid] < target) { left = mid + 1;k -= 1; // 右移 k-1} else if (temp[mid] > target) {right = mid - 1;k -= 2; // 左移 k-2} else {return (mid < n) ? mid : -1; // 防止访问填充部分}}return -1; // 未找到}public static void main(String[] args) {int[] arr = {10, 22, 35, 40, 45, 50, 80, 82, 85, 90, 100};int target = 50;int index = fibonacciSearch(arr, target);System.out.println(index == -1 ? "未找到" : "找到索引: " + index);}
}


🔹 区别与适用场景

查找方法    适用场景    时间复杂度    额外空间    适合数据
插值查找    数据分布均匀    平均 O(log log n),最坏 O(n)    O(1)    均匀分布的大规模数据
斐波那契查找    访问代价高的有序数据    O(log n)    O(1)    需要减少访问次数的场景
🎯 总结:

插值查找更快,但对数据分布要求高;

斐波那契查找适用于存储访问成本高的情况,比如磁盘存储。

http://www.dtcms.com/wzjs/152490.html

相关文章:

  • 网站怎么做万词杭州网站定制
  • 阿里云做私服网站企业网页设计制作
  • 如何自己做软件网站深圳高端seo公司助力企业
  • 跨境电商网站开发公司网络营销成功案例ppt
  • 长沙有哪些做的好一点的网站推广的几种方式
  • 游戏推广网站怎么做公司产品推广文案
  • 怎么在电脑上自己做网站吗手机上怎么制作网页
  • 国内外创意网站欣赏威海seo优化公司
  • 中国建设银行保函查询网站软文代写
  • 十堰做网站百度文库网页版登录入口
  • 外贸公司的网站建设模板下载重庆seo按天收费
  • 苏州外贸营销网站建设深圳关键词排名推广
  • 做web网站原型设计网站排名优化多少钱
  • 动态网站开发服务器端脚本语言如何有效的推广宣传
  • 兰州网络推广方法网站seo优化报告
  • 工业和信息化部网站备案系统查询站长工具同大全站
  • photoshop怎么做网站草图免费推广网站有哪些
  • 网站内部优化怎么做短信广告投放软件
  • 建e网3d模型免费下载广州百度seo排名优化
  • 旅游网站开发与建设论文无锡网络优化推广公司
  • 淮安汽车网站制作链接交换
  • 网站管理是什么广东东莞疫情最新消息今天又封了
  • 十大购物app排行榜seo关键词排名优化价格
  • dede网站模板安装平面设计培训费用一般是多少
  • 设计素材网站哪个最好推荐seo网站诊断报告
  • 中兴能源建设有限公司网站网站批量查询
  • 网站优化关键词排名网上永久视频会员是真的吗
  • 做网站挣钱吗线上卖货平台有哪些
  • 陌陌网站开发成本seo是什么车
  • 做平台的网站有哪些功能吗关键词优化报价怎么样