Изменения

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

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

80 байт убрано, 01:10, 11 июня 2014
Нет описания правки
== Псевдокод ==
<code>
'''double''' findLeftBoard(valueOfFunc C : '''double'''):
x = -1
'''while''' f(x) > valueOfFunc C
x = x * 2
'''return''' x
</code>
<code>
'''double''' findRightBoard(valueOfFunc C : '''double'''):
x = 1
'''while''' f(x) < valueOfFuncC
x = x * 2
'''return''' x
</code>
<code>
'''double''' binSearch(valueOfFunc C : '''double'''): left = findLeftBoard(valueOfFuncC) right = findRightBoard(valueOfFuncC)
'''while''' right - left < eps <font color=green> // Здесь можно использовать другое условие выхода </font>
mid = (left + right) / 2
'''if''' f(mid) < valueOfFuncC
left = mid
'''else'''
Анонимный участник

Навигация