diff --git a/jcf.md b/jcf.md index 3b13d78..4424529 100644 --- a/jcf.md +++ b/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` предпочтительно применять, когда нужны частые операции вставки/удаления или в случаях, когда необходимо гарантированное время добавления элемента в список.