В соответствии с статьей Википедии о связанных списках, вставка в середине связанного списка считается O (1). Я бы подумал, что это будет O (n). Вам не нужно было бы найти node, который может быть ближе к концу списка?
Этот анализ не учитывает обнаружение операции node (хотя это необходимо) и просто сама вставка?
ИЗМЕНИТЬ:
Связанные списки имеют несколько преимуществ перед массивами. Вставка элемента в определенную точку списка - это операция с постоянным временем, тогда как для вставки в массив может потребоваться перемещение половины элементов или более.
Вышеприведенное утверждение немного вводит меня в заблуждение. Исправьте меня, если я ошибаюсь, но я думаю, что заключение должно быть:
Массивы:
- Поиск точки вставки/удаления O (1)
- Выполнение вставки/удаления O (n)
Связанные списки:
- Поиск точки вставки/удаления O (n)
- Выполнение вставки/удаления O (1)
Я думаю, что единственный раз, когда вам не нужно было бы находить позицию, это если у вас есть какой-то указатель на нее (как в случае с головой и хвостом в некоторых случаях). Поэтому мы не можем категорически заявить, что связанные списки всегда избивают массивы для вариантов вставки/удаления.