Portfolio
CS Základy: Linked Lists

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ím head).
  • 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