Изменения
→Условные обозначения
* <tex> L </tex> {{---}} левая граница диапазона поиска (изначально равна <tex>0</tex>),
* <tex> R </tex> {{---}} правая граница диапазона поиска (изначально равна <tex> |S| - 1 </tex>),
* <tex> M = (L + R) / 2 </tex>{{---}} середина текущего диапазона поиска,
* <tex> l = </tex><tex>\mathtt {lcp(array[L], p)} </tex> {{---}} длина общего префикса образца и левого края текущего диапазона поиска,
* <tex> r = </tex><tex>\mathtt {lcp(array[R], p)} </tex> {{---}} длина общего префикса образца и правого края текущего диапазона поиска,
* <tex> m_l = </tex><tex>\mathtt {lcp(array[L], array[M])} </tex>{{---}} длина общего префикса середины текущего диапазона и левого края текущего диапазона поиска,* <tex> m_r = </tex><tex>\mathtt {lcp(array[M], array[R])} </tex>{{---}} длина общего префикса середины текущего диапазона и правого края текущего диапазона поиска.
=== Алгоритм ===