Бинарный поиск:



# -*- coding: UTF-8 -*-
import profile
import random

#простая версия бинарного поиска
def binarySearch1(alist, item):
    first = 0
    last = len(alist)-1
    found = False

    while first <= last and not found:
        midpoint = (first + last)//2
        if alist[midpoint] == item:
            found = True
        else:
            if item < alist[midpoint]:
                last = midpoint-1
            else:
                first = midpoint+1
    return found

....