Σ.Μ. Κεφ5 Δυαδική Συνάρτηση Διόρθωση

Τι θα εμφανιστεί όταν θα γίνει η κλήση της συνάρτησης binarySearch για τη λίστα: L [7, 9, 15, 67, 77, 85];

def binarySearch(array, key):

        first = 0

       last = len(array) - 1

        pos = 'Δεν υπάρχει'

        while first <= last and pos == -1:

                mid = (first + last) / 2

                if array[mid] == key:

                        pos = mid

                elif array[mid] < key:

                        first = mid + 1

               else:

                       last = mid - 1

        return pos

print binarySearch(L, 5):

 

2

Δεν υπάρχει

(Το βιβλίο αναφέρει αν δε το βρει  pos = -1, αλλά είναι λάθος γιατί η θέση -1 είναι η τελευταία)

 

5