首页 > 编程知识 正文

java解析字符串数学公式,数据结构与算法分析pdf

时间:2023-05-03 12:02:22 阅读:55589 作者:4287

8.4插值搜索算法插值查找原理介绍:

插值查找算法类似于二分查找,不同之处在于插值查找每次从自适应mid开始查找。 求出混叠检索中mid索引的公式,low表示左索引的left,high表示右索引的right. key是上述的findVal

3 ) intmid=low(high-low ) ) key-arr[low]/)/(arr[high] - arr[low] ); /插值索引/

对应于上一个代码表达式:

int mid=left (rightleft ) ) find valarr [ left ]/(arr [ right ]arr [ left ] ) )

4 )插值查找算法1-100的排列示例

8.4.1通过插值查找应用实例

请插补有序数组查找{1、8、10、89、1000、1234},输入该数组中是否存在该数,并求出下标。 如果不存在,则提示“没有这个数量”。

代码实现/* * * @ author ZK * @版本1.0.0 * @ classnameinsertvaluesearch.jav a* @ description todo插值搜索* @createTime 2021年for(intI=0; i 100; I ) { arr[i]=i 1; } intindex=insertvaluesearch (arr,0,99,1000 ); system.out.println (索引; } publicstaticintinsertvaluesearch (int [ ] arr、int left、int right、int findVal ) (/system.out.println ) ) insert val ial (/intmid=left(findval-left )/)/(arr[right] -arr[left] ) * (right - left ); 与二分搜索的不同intmid=left(findval-arr[left]/)/(arr[right] -arr[left] ) ) * (right - left ); if (arr [ mid ]==find val ({ returnmid; }elseif(findValarr[mid] ) returninsertvaluesearch ) arr,left,mid-1,findval ); } else { returninsertvaluesearch (arr,mid 1,right,findVal ); } }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。