Свързаният списък е структура от данни, която се състои от последователност от възли, която съдържа стойност и препратка (връзка) към следващия възел.

Big-O нотация

access: O(n)
search: O(n)
insert: O(1)
delete: O(1)

Достъпът и търсенето са доста бавни, тъй като възлите са свързани един по един, различно от масиви, където има индекси или хеш таблици, където има ключове.

Вмъкването и изтриването са бързи, както се случва в началото или в края.

Единично срещу двойно свързан списък

Единично свързаният списък съдържа възли, които имат препратка само в една посока (следващия възел), докато двойно свързаният списък съдържа препратка към противоположна посока.

Това позволява на разработчиците да персонализират структурата на данните, в зависимост от това кое е по-ценно, времето или паметта.

Да кажем, че искате да вмъкнете данни в 7-ми индекс в свързани списъци от 8 елемента. За единично свързан списък нямате друг избор, освен да преминете през списъка от 0-ия индекс до 7-ия индекс, тъй като има само препратка към следващия възел.

Двойно свързаните списъци ми позволяват да преминавам от назад, правейки времевата сложност на O(n)/2. Идеята Big-O ще опрости това до O(n), но има ясно предимство от използването на двойно свързан списък в такъв случай. Но сложността на пространството се увеличава, тъй като всеки възел трябва да съхранява допълнителна променлива.

Ето моя персонализиран списък с единични връзки в Javascript.