Бинарный поиск на Java.md
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Struchkov Mark 2024-09-08 22:00:15 +03:00
parent 257a818ea6
commit 5b587067e4
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C

View File

@ -11,6 +11,7 @@ parents:
linked: linked:
link: https://struchkov.dev/blog/ru/java-binary-search/ link: https://struchkov.dev/blog/ru/java-binary-search/
--- ---
[[../algorithm/Бинарный поиск|Подробнее о самом алгоритме]] можно прочитать в отдельной заметке. Здесь только реализация на Java.
## Без рекурсии ## Без рекурсии
```java ```java
public class Binary { public class Binary {
@ -81,3 +82,12 @@ public class Binary {
> Например, если `l = 2147483647` и `r = 2147483647`, сумма `l` и `r` будет равна 4294967294, что превышает максимальное значение, которое может удерживать `int`, вызывая переполнение. > Например, если `l = 2147483647` и `r = 2147483647`, сумма `l` и `r` будет равна 4294967294, что превышает максимальное значение, которое может удерживать `int`, вызывая переполнение.
> >
> С другой стороны, если вы используете `mid = l + (r - l) / 2;` это будет работать, как и ожидалось, потому что вычитание будет сделано первым, а результат будет равен нулю, поэтому деление будет равно нулю, а сложение вернет значение `l`. > С другой стороны, если вы используете `mid = l + (r - l) / 2;` это будет работать, как и ожидалось, потому что вычитание будет сделано первым, а результат будет равен нулю, поэтому деление будет равно нулю, а сложение вернет значение `l`.
***
## Мета информация
**Область**:: [[../../meta/zero/00 Алгоритм|00 Алгоритм]], [[../../meta/zero/00 Снипеты для Java|00 Снипеты для Java]]
**Родитель**:: [[../algorithm/Бинарный поиск|Бинарный поиск]]
**Автор**::
**Создана**:: [[2024-04-07]]
### Дополнительные материалы
-