Σ.Μ. Κεφ5 Δυαδική αύξουσα β

Ο παρακάτω αλγόριθμος δυαδικής αναζήτησης χρησιμοποιείται σε λίστες με αύξουσα ταξινόμηση:

def binarySearch(lista, key):

        first = 0

        last = len(lista) - 1

        found = False

        while not found and first <= last:

                mid = (first + last) / 2

                if  key == lista[mid] :

                      found = True

                elif key <lista[mid]  :

                      last = mid - 1

                else:

                    first  = mid +1

        return found

True