AddBefore
и AddAfter
принимают в качестве первого параметра LinkedListNode<>
, то есть узел, до / после которого будет добавлен новый узел.Эта операция O(1)
.
Обход (перечисление) LinkedList
является операцией O (n), потому что для просмотра x-го узла вам необходимо пройти x-1 узлы.Вы не можете выполнить двоичный поиск в LinkedList
, потому что вы не можете получить прямой доступ к x-му элементу, не пройдя его.
Поэтому, если вы хотите добавить новый узел в LinkedList
, который вы поддерживаете в порядке,сначала вы должны пройти его, чтобы найти «правильную» позицию, в которую нужно вставить новый элемент (операция O (n)), затем вы должны вставить его, используя AddBefore
или AddAfter
(операция O (1)).Сложная сложность явно O (n).