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