早教吧 育儿知识 作业答案 考试题库 百科 知识分享

二分法查找的适用条件二分查找法只适用于顺序存储的有序表.在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等).难道不是只要有序就可以?按递减

题目详情
二分法查找的适用条件
二分查找法只适用于顺序存储的有序表.在此所说的有序表是指线性表中的元素按值非递减排列(即
从小到大,但允许相邻元素值相等).难道不是只要有序就可以?按递减排序不可以用二分法吗?
▼优质解答
答案和解析
说”二分查找法只适用于顺序存储的有序表“是正确的,说”指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)“是为了程序的确定性.
实际上只要有序就可以.按递减排序也可以用二分法.只是必须把算法规则改变一下.
递增的算法:拿要查找数值与中间序号的数值比较若相等,查找成功;要查找数值比中间序号的数值大,在右边查找,低端序号改为原中间序号加1;要查找数值比中间序号的数值小,在左边查找,高端序号改为原中间序号减1;如此反复.
递减的算法:拿要查找数值与中间序号的数值比较若相等,查找成功;要查找数值比中间序号的数值大,在左边查找,高端序号改为原中间序号减1;要查找数值比中间序号的数值小,在右边查找,低端序号改为原中间序号加1;如此反复.