Skip to content

Commit

Permalink
Добавлена ссылка на Wiki
Browse files Browse the repository at this point in the history
Co-Authored-By: Eugene Kortov <[email protected]>
  • Loading branch information
2 people authored and enhorse committed Feb 23, 2020
1 parent b2dcfc8 commit 0a0f8d7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion jcf.md
Original file line number Diff line number Diff line change
Expand Up @@ -740,7 +740,7 @@ PhantomReference при вызове метода `get()` возвращает
## Какова оценка временной сложности операций над элементами из `HashMap`? Гарантирует ли `HashMap` указанную сложность выборки элемента?
В общем случае операции добавления, поиска и удаления элементов занимают константное время.

Данная сложность не гарантируется, т.к. если хэш-функция распределяет элементы по корзинам равномерно, временная сложность станет не хуже _Логарифмическое время_ _O(log(N))_, а в случае, когда хэш-функция постоянно возвращает одно и то же значение `HashMap` превратится в связный список со сложностью О(n) . Говорят, что алгоритм выполняется за логарифмическое время, если T(n)=O(log n). Поскольку в компьютерах принята двоичная система счисления, в качестве основания логарифма используется 2 (то есть log2n). Однако при замене основания логарифма logan и logbn отличаются лишь на постоянный множитель logba, который в записи O-большое отбрасывается. Таким образом, O(log n) является стандартной записью для алгоритмов логарифмического времени независимо от основания логарифма.
Данная сложность не гарантируется, т.к. если хэш-функция распределяет элементы по корзинам равномерно, временная сложность станет не хуже [_Логарифмического времени_ ](https://ru.wikipedia.org/wiki/%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0#%D0%9B%D0%BE%D0%B3%D0%B0%D1%80%D0%B8%D1%84%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F) O(log(N)), а в случае, когда хэш-функция постоянно возвращает одно и то же значение, `HashMap` превратится в связный список со сложностью О(n).

Пример кода двоичного поиска:
```java
Expand Down

0 comments on commit 0a0f8d7

Please sign in to comment.