您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法

插值查找(图文)

第十三双眼睛2023-10-18【数据结构与算法】人已围观

简介插值查找

插值查找
插值查找算法又称插值搜索算法,是在二分查找算法的基础上改进得到的一种查找算法。
主要就是改变了mid值算法
package com.xingchen.day007;
public class InsertSearch {
    public static void main(String[] args) {
        int[] arr = new int[100];
        for (int i= 0; i< 100; i++) {
            arr[i] = i+1;
        }
        int search = search(arr, 0, 99, 1);
        System.out.println(search);
    }
    public static int search(int[] arr, int left, int right, int findValue) {
        if (left > right || findValue< arr[0] || findValue > arr[arr.length - 1]) {
            return -1;
        }
        // 求出mid
        int mid = left + (right -left) * (findValue - arr[left]) / (arr[right] - arr[left]);
        int midValue = arr[mid];
        if (findValue > midValue) {
            return search(arr, mid + 1, right, findValue);
        }else if (findValue< midValue) {
            return search(arr,left,mid - 1, findValue);
        }else {
            return mid;
        }
    }
}

Tags:

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

本站推荐

站点信息

  • 网站名称:JavaStudy
  • 建站时间:2019-1-14
  • 网站程序:帝国CMS7.5
  • 文章统计242篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们