Изменения

Перейти к: навигация, поиск

Вещественный двоичный поиск

96 байт добавлено, 08:01, 10 июня 2014
Псевдокод
== Псевдокод ==
<precode>'''findLeft'''(c):
x = -1
'''while ''' f(x) > c
x = x * 2
'''return ''' x </precode><precode>'''findRight'''(c):
x = 1
'''while ''' f(x) < c
x = x * 2
'''return ''' x</precode><precode>'''binSearch'''(c): left = '''findLeft'''(с) right = '''findRight'''(с) '''while ''' left < right - eps //Здесь можно использовать другое условие выхода
mid = (left + right) / 2
'''if ''' f(mid) == c //** '''return ''' mid //** '''else if ''' f(mid) < c
left = mid
'''else'''
right = mid
'''return ''' l</precode>
== Примеры использования ==
333
правки

Навигация