给定一个整数X和整数A0,A1,…,AN-1,后者已经预先排序并在内存中,求下标i使得Ai = X , 如果X不在数据中则返回i = -1 。明显的解法是从左往右扫描,花费线性时间。但是这个算法没有用到该表已经排序这个事实。折半检索(binary search,二分法检索)策略:/** * Perf...
分类:
其他好文 时间:
2014-07-16 23:25:47
阅读次数:
233
二分查找法是针对已经排好序的序列进行查找每次折半查找算法时间复杂度,对于长度为N的序列,每次执行N/2,假设k次结束,最后到第一个N/2^k=0,所以k=logN时间复杂度logNint binarysearch(const int array[], int x, int N) { int l...
分类:
其他好文 时间:
2014-06-27 20:33:28
阅读次数:
178
$arr=array('1','7','9','11','20','23','33','44','50'); $len=count($arr); $low=0;$high=$len-1; while($low'; if($arr[$mid]>9) { $high=$mid-1; ...
分类:
Web程序 时间:
2014-06-24 14:08:25
阅读次数:
223
问题
查找某个值在list中的位置
解决思路
可以用折半查询的方法解决此问题。
解决(Python)
#! /usr/bin/env python
#coding:utf-8
#折半查找某个元素在list中的位置
def half_search(lst,value,left,right):
length = len(lst)
while left<ri...
分类:
其他好文 时间:
2014-06-19 11:09:48
阅读次数:
527
这篇文章将讨论:1) 分治策略的思想和理论2) 几个分治策略的例子:合并排序,快速排序,折半查找,二叉遍历树及其相关特性。说明:这几个例子在前面都写过了,这里又拿出来,从算法设计的策略的角度把它们放在一起来比较,看看分治是如何实现滴。由于内容太多,我将再花一篇文章来写4个之前没有写过的分治算法:.....
分类:
其他好文 时间:
2014-06-18 21:06:23
阅读次数:
289
查找分为静态查找与动态查找一、静态查找1.顺序查找法平均的查找长度为(n+1)/22.折半查找法局限是数据必须是有序的。完全二叉树的高度为logn上取整。3.分块查找法查找第一阶段:每一块的查找利用折半查找法第二阶段:每一块内部的查找使用顺序查找法。二、动态查找B-树与B+树主要用于大规模数据的查找...
分类:
其他好文 时间:
2014-06-11 07:26:46
阅读次数:
239
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以...
分类:
其他好文 时间:
2014-06-08 18:07:41
阅读次数:
187
思路:从数组第二个元素开始折半插入,即把第一个元素看成有序的,然后下标后移一位,直到数组最后一个元素折半插入成功,注意:数组第0号元素不存值,用来存储每次要插入的数据步骤:1.判断要插入的元素是否处于有序状态,是则继续,否则下标后移
2.利用折半查找要插入的下标,记为t 3.从t开始所有数...
分类:
其他好文 时间:
2014-06-05 17:39:25
阅读次数:
177
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一...
分类:
其他好文 时间:
2014-05-24 17:17:38
阅读次数:
237
满足二叉查找树的存储规则。类似折半查找:import
javax.management.remote.rmi._RMIConnectionImpl_Tie;/** * Created by John on
14-5-22. */public class IntTree { private st...
分类:
编程语言 时间:
2014-05-24 08:04:52
阅读次数:
300