Seznam jednotlivě propojených vs seznam dvojitě propojených
Propojený seznam je lineární datová struktura, která se používá k ukládání kolekce dat. Propojený seznam přiděluje paměť svým prvkům samostatně ve svém vlastním bloku paměti a celková struktura se získá spojením těchto prvků jako odkazů v řetězci. Seznam s jednoduchým spojením se skládá ze sekvence uzlů a každý uzel má odkaz na další uzel v sekvenci. Dvojitě propojený seznam obsahuje posloupnost uzlů, ve kterých každý uzel obsahuje odkaz na další uzel i na předchozí uzel..
Seznam jednotlivě propojených
Každý prvek v samostatně propojeném seznamu má dvě pole, jak je znázorněno na obrázku 1. Datové pole obsahuje skutečná uložená data a další pole obsahuje odkaz na další prvek v řetězci. První prvek propojeného seznamu je uložen jako hlava propojeného seznamu.
Obrázek 2 zobrazuje seznam, který je samostatně spojen se třemi prvky. Každý prvek ukládá svá data a všechny prvky kromě posledního ukládají odkaz na další prvek. Poslední prvek má ve svém dalším poli nulovou hodnotu. K libovolnému prvku v seznamu lze přistupovat tak, že začnete na hlavě a sledujete další ukazatel, dokud nedosáhnete požadovaného prvku.
Seznam dvojitě propojených
Každý prvek v dvojitě propojeném seznamu má tři pole, jak je znázorněno na obrázku 3. Podobně jako v případě samostatně propojeného seznamu, datové pole obsahuje skutečná uložená data a další pole obsahuje odkaz na další prvek v řetězci. Předchozí pole navíc obsahuje odkaz na předchozí prvek v řetězci. První prvek propojeného seznamu je uložen jako hlava propojeného seznamu.
Obrázek 4 zobrazuje dvojitě propojený seznam se třemi prvky. Všechny přechodné prvky ukládají odkazy na první a předchozí prvky. Poslední prvek v seznamu obsahuje nulovou hodnotu ve svém dalším poli a první prvek v seznamu obsahuje nulovou hodnotu ve svém předchozím poli. Zdvojeně propojený seznam lze procházet vpřed sledováním dalších odkazů v každém prvku a podobně lze procházet zpět pomocí předchozích odkazů v každém prvku.
Jaký je rozdíl mezi jednotlivě propojeným seznamem a seznamem dvojitě propojených?
Každý prvek v jednotlivě propojeném seznamu obsahuje odkaz na další prvek v seznamu, zatímco každý prvek v dvojitě propojeném seznamu obsahuje odkazy na další prvek a také na předchozí prvek v seznamu. Dvojitě propojené seznamy vyžadují více místa pro každý prvek v seznamu a základní operace, jako je vkládání a mazání, jsou složitější, protože se musí zabývat dvěma odkazy. Seznamy odkazů však umožňují snadnější manipulaci, protože umožňují procházení seznamem směrem vpřed i vzad.