Основные преимущества связных списков перед массивами:
- Эффективное добавление и удаление элементов (за константное время). 1
- Возможность лёгкого расширения: чтобы увеличить размер списка, нужно только добавить ещё один элемент. 5
Недостатки связных списков:
- Сложность прямого доступа к элементу: определение физического адреса по его индексу (порядковому номеру) в списке. 1
- Расходование дополнительной памяти на поля-указатели (указатели на следующий и предыдущий элемент). 1 В массивах, например, указатели не нужны. 1
- Некоторые операции со списками медленнее, чем с массивами, так как к произвольному элементу списка можно обратиться, только пройдя все предшествующие ему элементы. 1
- Соседние элементы списка могут быть распределены в памяти нелокально, что снизит эффективность кэширования данных в процессоре. 1
- Над связными списками, по сравнению с массивами, гораздо труднее (хоть и возможно) производить параллельные векторные операции, такие, как вычисление суммы: накладные расходы на перебор элементов снижают эффективность распараллеливания. 1