Update jcf.md
LinkedList - уточнение по сложности алгоритмов.
This commit is contained in:
parent
7145db164f
commit
39a7c96d3e
2
jcf.md
2
jcf.md
|
@ -263,8 +263,10 @@ FILO, First-In-Last-Out («первым пришел, последним уше
|
|||
`LinkedList`:
|
||||
|
||||
+ на получение элемента по индексу или значению потребуется _линейное_ время _O(N)_;
|
||||
+ но доступ к первому и последнему элементу списка всегда осуществляется за _константное_ время _O(1)_ — ссылки постоянно хранятся на первый и последний элемент;
|
||||
+ на добавление и удаление в начало или конец списка потребуется _константное_ _O(1)_;
|
||||
+ вставка или удаление в/из произвольного место _константное_ _O(1)_;
|
||||
+ но поиск позиции вставки и удаления за _линейное_ время _O(N)_;
|
||||
+ требует больше памяти для хранения такого же количества элементов, потому что кроме самого элемента хранятся еще указатели на следующий и предыдущий элементы списка.
|
||||
|
||||
В целом, `LinkedList` в абсолютных величинах проигрывает `ArrayList` и по потребляемой памяти, и по скорости выполнения операций. `LinkedList` предпочтительно применять, когда нужны частые операции вставки/удаления или в случаях, когда необходимо гарантированное время добавления элемента в список.
|
||||
|
|
Loading…
Reference in New Issue