在一组已经排序好的数据中确定某一个数据个位置,最佳算法是
1个回答
关注
展开全部
1)另left=开头的位置,right=结束的位置
(2)取一个中间的位置mid
(3)如果当前位置的数等于k,则k的位置找到了
(4)如果中间的位置数大,表示k在前半部分,另right=mid-1,继续重复(2)查找.
(5)如果中间的位置数小,表示k在后半部分,另left=mid+1,继续重复(2)查找.
当然,这中间要是left>right了,就表示不存在这个数了
时间复杂度O(logn),没有多次查找等特殊要求的话,应该是最快的了。
咨询记录 · 回答于2022-04-18
在一组已经排序好的数据中确定某一个数据个位置,最佳算法是
您好,您的问题我已经看到了,正在整理答案,请稍等一会儿哦~
在一组已经排序好的数据中确定某一个数据个位置,最佳算法是
1)另left=开头的位置,right=结束的位置(2)取一个中间的位置mid(3)如果当前位置的数等于k,则k的位置找到了(4)如果中间的位置数大,表示k在前半部分,另right=mid-1,继续重复(2)查找.(5)如果中间的位置数小,表示k在后半部分,另left=mid+1,继续重复(2)查找.当然,这中间要是left>right了,就表示不存在这个数了时间复杂度O(logn),没有多次查找等特殊要求的话,应该是最快的了。