Изменения

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

Троичный поиск

2 байта убрано, 19:32, 22 мая 2014
м
Псевдокод
Рекурсивный вариант:
'''ternarySearchMinfunction'''ternarySearchMin(f, left, right, eps) '''if''' (right - left < eps)
return (left + right) / 2
a = (left * 2 + right) / 3
b = (left + right * 2) / 3
'''if''' (f(a) < f(b)) '''return''' '''ternarySearchMin'''(f, left, b, eps)
'''else'''
'''return''' '''ternarySearchMin'''(f, a, right, eps)
Итеративный вариант:
'''ternarySearchMinfunction'''ternarySearchMin(f, left, right, eps) '''while''' (right - left > eps)
a = (left * 2 + right) / 3
b = (left + right * 2) / 3
'''if''' (f(a) < f(b))
right = b
'''else'''
73
правки

Навигация