Alyiccce 2022-10-25 03:20 采纳率: 0%
浏览 32
已结题

基于二分查找的插值查找公式推导过程的

最近在看插值查找,对于他的公式都是基于二分推导出来的
二分:mid = 1/2(left+right) = left+1/2(right-left)
插值查找:
设定比值为k,查找值为key k=(key - a[right])(a[left]-a[right])
根据二分公式left+1/2(right-left),将1/2替换为k推导而出:mid = left+k(right-left) 其结果简化可得mid = kright+(l-k)left
但如果是根据二分公式:mid = 1/2(left+right),将1/2替换成k却推导而出:mid = k(left+right) 简化可得mid = k
right+k
left
两者都是将1/2替换为k,最终推导出的公式不一样,那么如何确定他的正确性呢?又或者插值公式的正确推导应该是什么样子的呢?

  • 写回答

2条回答 默认 最新

  • 知虚 2022-10-25 03:31
    关注

    mid = left+k(right-left) 其结果简化可得mid = kright+k(l-left) 这一步简化没看懂呀;
    我理解 mid = left+k(right-left) 推导得 mid = left + kright - kleft ,提取公因式,简化得到 mid =kright +left(1-k),不知道对不对。
    二分查找是插值查找特例把,K换成1/2后两者貌似是相同的

    评论 编辑记录
  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-25 13:01
    关注
    评论
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月10日
  • 修改了问题 10月25日
  • 创建了问题 10月25日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部