Я говорил о списках в статье Списки против кортежей. Это о связанных списках против списков.

Связанный список похож на список, поскольку они оба представляют собой последовательность данных.

Основное различие между ними состоит в том, что список представляет собой последовательность смежных ячеек памяти, в то время как элементы связанного списка могут размещаться в любом месте памяти.

И это из-за его структуры. Базовая структура связанного списка выглядит так

Каждый элемент в связанном списке называется node Узел состоит из двух частей — раздела, содержащего элементы данных, и другого, содержащего указатель на следующий узел.

Этот указатель позволяет элементам связанного списка выделять различные места в памяти. Таким образом, когда новый элемент добавляется в связанный список, он может занимать наиболее эффективное место в памяти или самое удобное место.

Однако это не так эффективно, как добавление элемента в список. Если бы вам нужно было добавить элемент в связанный список, вам пришлось бы пройтись по каждому узлу в связанном списке, чтобы найти последний элемент, а затем добавить указатель на вновь добавленный элемент. Что отличается от списка, элементы которого хранятся в смежных ячейках памяти с некоторыми дополнительными пробелами. Вам просто нужно будет найти последний элемент, а затем добавить новый добавленный элемент в его конец.

Честно говоря, я не могу представить себе случая, когда я бы использовал связанные списки вместо списков. Тем более, что Python и JavaScript — мои основные языки программирования — не имеют легкодоступных связанных списков. Мне пришлось бы создать класс со всеми атрибутами, которые должен иметь связанный список.