Изменения

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

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

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

Навигация