插值搜索

✍ dations ◷ 2025-11-14 10:46:43 #插值搜索

插值搜索法(Interpolation search)是利用插值公式来计算猜测搜索键值的位置。搜索方式与二分搜索相同。

插值公式:

插值 = (设算数 -­ 最小数) / (最大数 -­ 最小数):

搜索键值 = left + parseInt( ( key - data ) / ( data - data ) )*( right - left ) )

插值搜索之算法与二分搜索算法几乎完全相同,差别在:

二分搜索法:猜测键值在中间位置(middle)

插值搜索法:用插值公式计算键值位置

二分搜索在一般的情况下时间复杂度是对数时间,进行 O ( log n ) {displaystyle O(log n)} 次比较操作( n {displaystyle n} 在此处是数组的元素数量, O {displaystyle O} 是大O记号, log {displaystyle log } 是对数)。

插值搜索的最坏时间复杂度是 O ( n ) {displaystyle O(n)} ,平均进行 O ( log ( log n ) ) {displaystyle O(log(log n))} 次比较操作。因为用插值公式计算搜索键值,能使搜索范围比二分法更快缩小。所以除非输入数据数量很少,否则插值搜索比二分搜索与线性搜索更快,但数组必须事先被排序。无论对任何大小的输入数据,插值搜索算法使用的空间复杂度一样是 O ( 1 ) {displaystyle O(1)}

JS code:

相关

  • 特伦托特伦托(意大利语:Trento;又译为天特)是位于意大利特伦蒂诺-上阿迪杰大区西南部的市镇,为特伦托省首府,面积157平方公里,人口110,142人(2005年)。罗马教廷于1545至1563年在此召开大公
  • 阿尔本·W·巴克利阿尔本·威廉·巴克利(Alben William Barkley,1877年12月24日-1956年4月30日),美国律师、政治家。曾任四届美国肯塔基州联邦参议员,在1948年大选中作为哈利·S·杜鲁门的搭档参选
  • 托马斯·卡莱尔托马斯·卡莱尔(英语:Thomas Carlyle,1795年12月4日-1881年2月5日)是苏格兰评论、讽刺作家、历史学家。他的作品在维多利亚时代甚具影响力。代表作有《英雄与英雄崇拜》、《法国
  • 磺胺类药物磺胺类药物(Sulfonamides)是一类人工合成的抗菌药物,这类药物都是以对氨基苯磺酰胺(磺胺)为母体发展而来,因此得名。磺胺类药物抗菌谱较广,对大部分革兰氏阴性菌和革兰氏阳性菌均有
  • 厄尔布尔士省厄尔布尔士省(Persian: استان البرز, Ostan-e Alborz ),伊朗北部省份,省会卡拉季。2010年,该省析置自德黑兰省。省名源自厄尔布尔士山脉。
  • 达什巴图尔达什巴图尔(蒙古语:.mw-parser-output .font-mong{font-family:"Menk Hawang Tig","Menk Qagan Tig","Menk Garqag Tig","Menk Har_a Tig","Menk Scnin Tig","Oyun Gurban Ulu
  • 变频传动变频传动是一种通过改变输入电源频率的方式来控制交流电动机的技术。使用变频传动的装置一般称为变频器。变频器通常分为两部分:整流单元和逆变器。整流单元将交流电转化为直
  • 白虎之咒《白虎之咒》系列小说是美国作家柯琳·霍克的首部作品。共有5集,分别为 《白虎之咒1:预言中的少女》 () 《白虎之咒2:寻找风的圣物》() 《白虎之咒3:勇闯五洋巨龙》() 《白虎之咒4:最
  • 彭三元彭三元(?-1855年),字春浦,湖南善化县人。清朝军事将领。道光二十七年(1847年)丁未科三甲武进士。以卫守备用,借补千总。咸丰二年(1852年),太平军进入湖南,联合天地会,攻打东安,彭三元偕署守
  • 明治纪念馆明治纪念馆(英语:Meiji Kinenkan)是一个位于日本东京都的酒店。1947年在日本企业家市村清主导下建成开馆。位于东京都港区元赤坂二丁目。曾经是宪法纪念馆,现在主要作为宴会,会议