Почему мы пишем m+1 в последней строке двоичного поискового кода ?
def bsearch2 ( lst : list , key , lo :int , hi : int ): if lo == hi : return None # key not in empty segment m = ( lo + hi )//2 # position of root if lst [ m] == key : return m elif lst [ m] > key : return bsearch2 ( lst , key , lo , m) else : # lst[m] < key return bsearch2 ( lst , key , m +1 , hi )
Что я уже пробовал:
.................................................................