发布网友
共4个回答
热心网友
有序数组是一种特殊的数组,里面的元素,按一定的顺序排列,我们这里假设由小到大排列。
对于这种特殊的数组,我们可以采用二分法来查找数组中特定的元素,这种算法的思想是:每查找一次,便将查找的范围缩小一半,所以叫做二分法查找。
扩展资料
二分法查找方法
(1)确定该区间的中间位置K
(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。
区域确定如下:a.array[k]>T 由数组的有序性可知array[k,k+1,……,high]>T;故新的区间为array[low,……,K-1]b.array[k]<T 类似上面查找区间为array[k+1,……,high]。
每一次查找与中间值比较,可以确定是否查找成功,不成功当前查找区间将缩小一半,递归查找即可。时间复杂度为:O(log2n)。
参考资料来源:百度百科-有序数组
热心网友
所谓“有序数组”是指数组里的数是按规定次序排列的.
热心网友
所谓“有序数组”是指数组里的数是按规定次序排列的,虽然仍然是同样一些数,但排列次序不同,看作是不同的数组。
举个简单的例子:平面上点的直角坐标是有序数组,数组(1,2)与(2,1)是不同的,它们分别表示平面上两个不同的点。
热心网友
设数组A=(a1,a2,……,an),B=(b1,b2,……,bn),若A=B等价于ai=bi(i=1,2,……,n),称A为一个有序数组。如n维向量就是一个有序组。