博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法-插值查找
阅读量:5991 次
发布时间:2019-06-20

本文共 789 字,大约阅读时间需要 2 分钟。

二分查找这个概念是非常简单的一个算法,也就是我们俗称的折半查找,原理是在一个有序的数组中,先取中间的值,如果中间值大于或者小于我们需要查找的值,那么就舍弃一般,在另一半中进行查找.

下面是一个简单的二分查找:

package com.hotusm.algorithm.insertvaluesearch;import java.util.Arrays;/** * @author Hotusm  
* @date 2017年4月3日
* @description */public class InsertValueSearch { public static boolean search(int[] arr,int key,int left,int right){ while(left

 

这种方式的查找其实是将值构造成了一颗二叉排序数,然后进行查找.这种搜索的好处在于大大的缩短了搜索时间,时间复杂度为logn  小于线性的n

而插值查找则比较灵活,并不是简单的从中间进行的,它是根据我们需要查询的值的渐进进行搜索的.

插值查找的不同点在于每一次并不是从中间切分,而是根据离所求值的距离进行搜索的.

下面是算法:

package com.hotusm.algorithm.insertvaluesearch;import java.util.Arrays;/** * 插值查找 * @author Hotusm  
* @date 2017年4月3日
* @description */public class InsertValueSearch { public static boolean search(int[] arr,int key,int left,int right){ while(left

 

转载地址:http://intlx.baihongyu.com/

你可能感兴趣的文章
对于公司组建Hadoop基础框架的推荐分析
查看>>
我的友情链接
查看>>
c# 构造函数初探
查看>>
VMware vSphere6.0(一)----环境介绍
查看>>
xDAIS VISA API
查看>>
信仰为何?
查看>>
邮件组织维护的列表
查看>>
dot1x之PEAP和EAP-TLS----一
查看>>
【深入浅出MyBatis系列四】强大的动态SQL
查看>>
我的友情链接
查看>>
php 函数 总结及建议
查看>>
Linux软件源码安装方式介绍
查看>>
我的友情链接
查看>>
opensuse13.2 qtconfig设置yast2字体失败
查看>>
精品软件 推荐 Acme CAD Converter 全能 CAD 文件转换器和免费 DWG 查看器
查看>>
小记VNC
查看>>
阿岳之_Centos7.1用户基本权限轻松管理篇
查看>>
(五)Thinkphp常用短函数使用简介-TTLSA
查看>>
shell 脚本安装nagios客户端
查看>>
一个赚钱的好视频
查看>>