Изменения

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

Навигация