在一个两段有序的数组中查找
来源:互联网 发布:德意志斯坦 知乎 编辑:程序博客网 时间:2024/04/30 06:46
有一个数组,比如{5,7,8,9,1,3,4},分成两段来看,每段都是有序的,而且左边一段的数字总是大于右边的,实现一个比较有效率的查找算法,下面是我的实现,时间复杂度是O(logn)。
算法描述:
使用2分法查找,确定查找区间的算法为:
if left < mid 如{4,5,6,7,1,2,3}
if x < left or x > mid
findIn(mid, right)
else
findIn(left, mid)
else 如{6,7,1,2,3,4,5}
if x < left and x > mid
findIn(mid, right)
else
findIn(left, mid)
- 在一个两段有序的数组中查找
- 在有序递增数组中查找一个缺少的数字
- 在一个有序的旋转数组中,查找给定值
- 在一个旋转有序数组中,查找最小的数
- 折半查找------在一个升序的有序数组中查找某个具体的数字
- 查找一个数是否存在于一个数组中。该数组分两段有序,第一段的数都大于第二段的数。
- 03+在一个有序的二维数组中查找一个数
- 二分法在有序数组中查找一个数
- 在一个循环有序的数组里查找特定值
- 查找一个有序数组中某一数值出现的次数
- 在有序但含有空的数组中查找字符串
- 在有序但含有空的数组中查找字符串
- 在有序但含有空的数组中查找字符串
- 在有序但含有空的数组中查找字符串
- 二分法在有序数组中进行查找
- 在已有序的数组中插入一个数,数组仍然保持有序
- 在一个基本有序的数组中查询指定元素
- 在查找有序二维数组中查找元素
- 如何更改DataGrid中某一行的背景色
- 测试博客
- 最近自己开通了一个电脑技术论坛
- facelet中自定义El函数的实现
- 对象初始化时发现的一个问题
- 在一个两段有序的数组中查找
- 【题目27】求两个排序数组的交集
- 电子邮件协议
- 阿里巴巴宣布5.4亿战略投资中国万网==互联网电子商务绑定互联网基础服务>为手机电子商务开拓铺路
- ubuntu一般软件安装在什么目录?
- JS在firefox和IE下差异及解决方案
- excel文字整理(加粗、宋体10号、边框)
- 10条有用的可用性结论和指南
- 全方位认识INFORMIX临时表及临时表IDS11.5新特性1