
在二分查找的程序实现中,如果left和right的更新不是取mid+1和mid-1而是都取mid,程序为什么是错的
数据结构(C语言)在二分查找的程序实现中,如果left和right的更新不是取mid+1和mid-1而是都取mid,程序为什么是错的...
数据结构(C语言)在二分查找的程序实现中,如果left和right的更新不是取mid+1和mid-1而是都取mid,程序为什么是错的
展开
2个回答
展开全部
有3个数字位置是 0 1 2
第一次查找
mid = (0 + 2) / 2 = 1,比较1的位置
第二次比较,如果取mid,而不是mid-1 +1的话
mid = (0 +1 ) / 2 = 0, 比较0的位置
mid = (1+2) / 2 = 1,比较1的位置,1已经比较过了,所以不对
第一次查找
mid = (0 + 2) / 2 = 1,比较1的位置
第二次比较,如果取mid,而不是mid-1 +1的话
mid = (0 +1 ) / 2 = 0, 比较0的位置
mid = (1+2) / 2 = 1,比较1的位置,1已经比较过了,所以不对
2019-06-24
展开全部
会陷入死循环的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询