折半搜索 搜索40 012345 有序顺序表 003040 5060 o low=0, high=n-1, mid=(low+high)/2 x先和md元素比较 id high 40>30 若相等,搜索成功,返回下标 23 45 若x更小,继续在前半部分搜索10203ol4o|soso n high=mid-1, mid=(low+high)/2 若x更大,继续在后半部分搜索 low mid high 40<50 o low=mid+1, mid=(low+high)/2 012345 102030405060 low mid high 搜索成功 40=40折半搜索 ◼ 有序顺序表 low=0, high=n-1,mid=(low+high)/2 x先和mid元素比较 ➢ 若相等,搜索成功,返回下标 ➢ 若x更小,继续在前半部分搜索 high=mid-1, mid=(low+high)/2 ➢ 若x更大,继续在后半部分搜索 low=mid+1, mid=(low+high)/2 7 搜索40 low mid high 10 20 30 40 50 60 0 1 2 3 4 5 low mid high 10 20 30 40 50 60 0 1 2 3 4 5 low mid high 10 20 30 40 50 60 0 1 2 3 4 5 40>30 40<50 40=40 搜索成功