1
1
Fork 0

Update jcf.md

LinkedList -  уточнение по сложности алгоритмов.
This commit is contained in:
Oleg Poltoratskii 2021-06-29 19:18:23 +03:00 committed by Enchased Horse
parent 7145db164f
commit 39a7c96d3e
1 changed files with 2 additions and 0 deletions

2
jcf.md
View File

@ -263,8 +263,10 @@ FILO, First-In-Last-Out («первым пришел, последним уше
`LinkedList`:
+ на получение элемента по индексу или значению потребуется _линейное_ время _O(N)_;
+ но доступ к первому и последнему элементу списка всегда осуществляется за онстантное_ время _O(1)_ — ссылки постоянно хранятся на первый и последний элемент;
+ на добавление и удаление в начало или конец списка потребуется онстантное_ _O(1)_;
+ вставка или удаление в/из произвольного место онстантное_ _O(1)_;
+ но поиск позиции вставки и удаления за _линейное_ время _O(N)_;
+ требует больше памяти для хранения такого же количества элементов, потому что кроме самого элемента хранятся еще указатели на следующий и предыдущий элементы списка.
В целом, `LinkedList` в абсолютных величинах проигрывает `ArrayList` и по потребляемой памяти, и по скорости выполнения операций. `LinkedList` предпочтительно применять, когда нужны частые операции вставки/удаления или в случаях, когда необходимо гарантированное время добавления элемента в список.