CS Základy: Linked Lists
Únor 2026
Tento týden jsem v The Odin Project odložil DOM manipulaci a ponořil se hluboko pod kapotu – do počítačové vědy (Computer Science). Prvním byly Linked Lists (Spojové seznamy).
V JavaScriptu jsme zvyklí používat Array na všechno. Je rychlý, flexibilní a má spoustu metod. Ale co když potřebujete pochopit, jak se data ukládají v paměti, když nemáte luxus předalokovaného místa?
Řetěz místo přihrádek
Zatímco pole je jako řada očíslovaných přihrádek, Linked List je slozitejsi. Máte jen první indicii (head). Ta obsahuje data a odkaz (next) na další indicii.
Musel jsem implementovat třídu LinkedList a Node, které umí:
append(value): Přidat prvek na konec (musím projít celý seznam!).prepend(value): Přidat prvek na začátek (to je super rychlé, jen změnímhead).pop(): Odstranit poslední prvek.
Takhle vypadá základní stavební kámen – Uzel:
class Node {
constructor(value = null, nextNode = null) {
this.value = value;
this.nextNode = nextNode; // Odkaz na další uzel
}
}
GitHub: projekt Linked List