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;
}
}