binary search DEMO

转载 2015年07月09日 08:55:37
#quote from MIT 'introduction to computation and programming using python, Revised'
def search(L, e):
    """Assumes L is a list, the elements of which are in 
         ascending order.
       Returns True if e is in L and False otherwise"""
    def bSearch(L, e, low, high):
        #Decrements high - low
        if high == low:
            return L[low] == e
        mid = (low + high)//2
        if L[mid] == e:
            return True
        elif L[mid] > e:
            if low == mid: #nothing left to search
                return False
            else:
                return bSearch(L, e, low, mid-1)
        else:
            return bSearch(L, e, mid + 1, high)
    if len(L) == 0:
        return False
    else:
        return bSearch(L, e, 0, len(L) - 1)


L = [1, 2, 10, 8, 0, 100, 23, 89, 6]


L.sort()


search(L, 8)
Out[121]: True


search(L, 4)
Out[122]: False

二叉搜索树(Binary Search Tree )的定义及分析

定义:     二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 每个结点都有一个作为搜索依据的关键码(key),所有结点的关键码互不相同。 左子树(如果非空)上所...
  • jsh13417
  • jsh13417
  • 2013年01月22日 21:59
  • 3328

二叉搜索树(Binary Search Tree)的插入与删除

二叉搜索树的插入关键是要找到元素应该插入的位置,可以采用与Find类似的方法。 二叉搜索树的删除则要考虑三种情况:   1.要删除的是叶节点:直接删除,并再修改其父节点指针置为NULL ...
  • song_hui_xiang
  • song_hui_xiang
  • 2015年08月16日 13:10
  • 976

ABAP性能优化技巧—使用二分查找(Binary Search)选项

READ命令使用顺序查找数据表,这会降低处理速度。取而代之,使用binary search的附加命令,可以使用二分查找算法,可以帮助加快内表查找速度。 在使用binary search之前必须首先将内...
  • Victor9279
  • Victor9279
  • 2016年11月02日 14:52
  • 561

数据结构(Java语言)——BinarySearchTree简单实现

二叉树的一个重要应用是它们在查找中的使用。使二叉树成为二叉查找树的性质是,对于树中的每个节点X,它的左子树中所有项的值都大于X中的项。注意,这意味着该树所有的元素都可以用某种一致的方式排序。 现在给出...
  • zhang_zp2014
  • zhang_zp2014
  • 2015年08月14日 21:55
  • 925

JAVA之数组查询binarySearch()方法详解

binarySearch()方法提供了多种重载形式,用于满足各种类型数组的查找需要,binarySearch()有两种参数类型注:此法为二分搜索法,故查询前需要用sort()方法将数组排序,如果数组没...
  • a1b2c3d4123456
  • a1b2c3d4123456
  • 2016年04月08日 15:34
  • 5010

二叉查找树(binary search tree)——python实现

二叉查找树(binary search tree) 顾名思义二叉查找树中每个jied
  • u013184096
  • u013184096
  • 2014年07月11日 21:59
  • 1431

Binary Search二分法搜索递归和非递归C++程序

二分法基本上学计算机的都听过,但是有人不知道的就是其实二分法是减治法的思想。 所谓减治法和分治法有一个主要差别就是减治法是减去一般,就是分治之后只需要解决原问题的一半就可以了得到全局问题的解了。所以速...
  • kenden23
  • kenden23
  • 2013年11月14日 10:22
  • 4029

C++标准库---已序区间算法之一binary_search()&includes()

在已序区间中搜寻某元素 检查某个元素是否存在 bool binary_search(beg,end,const T& value) bool binary_search(beg,en...
  • lanzhihui_10086
  • lanzhihui_10086
  • 2014年12月27日 15:12
  • 1437

关于Binary Search的写法总结

1. 使用闭区间,初始化 start = 0, end = n-1。
  • zhaobaoxue
  • zhaobaoxue
  • 2014年04月10日 18:10
  • 317

二分查找树的C++实现 Binary Search Tree(BST)

用C++实现了二叉查找树的 创建 插入 删除 遍历(宽度优先和三种深度优先[前序,中序,后序]) 查找某值 查找最大值和最小值 清空 复制二叉树(深复制) #include #include u...
  • showonstage1
  • showonstage1
  • 2014年03月13日 19:14
  • 1619
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:binary search DEMO
举报原因:
原因补充:

(最多只允许输入30个字)