Изменения

Перейти к: навигация, поиск
Пример
Рассмотрим данную рекурсию:
*Текущий полуинтервал <tex>[0 .. 8)</tex>, он больше <tex>[1 .. 5)=> </tex> => переходим по рекурсивным вызовам на <tex>[0 .. 4)</tex> и <tex>[4 .. 8)</tex>
*<tex>[0 .. 4)</tex> выходит за границы<tex> [1 .. 5)</tex>, <tex>[4 .. 8)</tex> выходит за границы <tex>[1 .. 5)=> </tex> => переходим по рекурсивным вызовам на <tex>[0 .. 2)</tex>, <tex>[2 .. 4)</tex> и <tex>[4 .. 6)</tex>, <tex>[6 .. 8)</tex>.
*<tex>[0 .. 2)</tex> выходит за границы <tex>[1 .. 5)=> </tex> => переходим в листья <tex>0, 1 </tex>; <tex>[2 .. 4)</tex> целиком внутри <tex>[1 .. 5)=> </tex> => возвращаем значение в <tex>[2 .. 4)</tex>; <tex>[6 .. 8)</tex> не пересекается с <tex>[1 .. 5)=> </tex> => возвращаем нулевое значение; <tex>[4 .. 6)</tex> выходит за границы <tex>[1 .. 5)=> </tex> => переходим к листьям <tex>4</tex> и <tex>5</tex>.
*листья <tex>5</tex> и <tex>0</tex> не пересекается с полуинтервалом <tex>[1 .. 5)=> </tex> => возвращаем нулевое значение, а листья <tex>4</tex> и <tex>1</tex> целиков внутри <tex>[1 .. 5)=> </tex> => возвращаем значения в этих листьях.
==Реализация==
Анонимный участник

Навигация