Sobes.tech
Junior

Co je to spojový seznam (LinkedList)?

sobes.tech AI

Odpověď od AI

Související seznam je lineární datová struktura, ve které prvky nejsou uloženy v sousedních paměťových buňkách. Místo toho každý prvek, nazývaný uzel, obsahuje data a odkaz (nebo ukazatel) na následující uzel v posloupnosti.

Existují různé typy spojovaných seznamů:

  • Jednosměrný spojovaný seznam: Každý uzel obsahuje odkaz pouze na následující uzel.
  • Dvousměrný spojovaný seznam: Každý uzel obsahuje odkazy jak na následující, tak na předchozí uzel.
  • Kruhový spojovaný seznam: Poslední uzel odkazuje na první, čímž vytváří cyklus.

Hlavní operace nad spojovaným seznamem:

  • Vložení: Přidání nového uzlu do seznamu.
  • Odstranění: Odebrání uzlu ze seznamu.
  • Hledání: Vyhledání uzlu podle hodnoty.
  • Procházení: Sekvenční přístup ke všem uzlům seznamu.

Výhody:

  • Flexibilita při vkládání a odstraňování prvků na libovolné pozici.
  • Efektivní správa paměti, protože prvky nevyžadují souvislé bloky.

Nevýhody:

  • Pomalý náhodný přístup k prvkům (je třeba sekvenční průchod).
  • Vyžaduje další paměť pro uložení odkazů.

Příklad struktury uzlu v jednoduchém spojovaném seznamu:

class Node {
    int data;
    Node next;

    Node(int data) {
        this.data = data;
        this.next = null;
    }
}