Skillnaden mellan en lista med en länk och en lista med dubbelt länkar

Skillnaden mellan en lista med en länk och en lista med dubbelt länkar
Skillnaden mellan en lista med en länk och en lista med dubbelt länkar

Video: Skillnaden mellan en lista med en länk och en lista med dubbelt länkar

Video: Skillnaden mellan en lista med en länk och en lista med dubbelt länkar
Video: Travis Stevens talks about the differences between judo and jiujitsu 2024, Juli
Anonim

Singly Linked List kontra Dubbellänkad List

Länkad lista är en linjär datastruktur som används för att lagra en samling data. En länkad lista allokerar minne till sina element separat i sitt eget minnesblock och den övergripande strukturen erhålls genom att länka dessa element som länkar i en kedja. En enkellänkad lista består av en sekvens av noder och varje nod har en referens till nästa nod i sekvensen. En dubbellänkad lista innehåller en sekvens av noder där varje nod innehåller en referens till nästa nod såväl som till föregående nod.

Singly Linked List

Varje element i en enkellänkad lista har två fält som visas i figur 1. Datafältet innehåller den faktiska data som är lagrad och nästa fält innehåller referensen till nästa element i kedjan. Det första elementet i den länkade listan lagras som huvudet på den länkade listan.

Bild
Bild
Bild
Bild

Figur 2 visar en enskilt länkad lista med tre element. Varje element lagrar sina data och alla element utom det sista lagrar en referens till nästa element. Det sista elementet har ett nollvärde i nästa fält. Alla element i listan kan nås genom att börja vid huvudet och följa nästa pekare tills du uppfyller det obligatoriska elementet.

Double Linked List

Varje element i en dubbellänkad lista har tre fält som visas i figur 3. I likhet med en enskild länkad lista innehåller datafältet den faktiska data som är lagrad och nästa fält innehåller referensen till nästa element i kedjan. Dessutom innehåller det föregående fältet referensen till det föregående elementet i kedjan. Det första elementet i den länkade listan lagras som huvudet på den länkade listan.

Bild
Bild
Bild
Bild

Figur 4 visar en dubbelt länkad lista med tre element. Alla mellanliggande element lagrar referenser till de första och föregående elementen. Det sista elementet i listan har ett nollvärde i nästa fält och det första elementet i listan har ett nollvärde i sitt föregående fält. Dubbellänkad lista kan förflyttas framåt genom att följa nästa referenser i varje element och på liknande sätt kan korsas bakåt med de tidigare referenserna i varje element.

Vad är skillnaden mellan listan med enkellänkade och dubbellänkade?

Varje element i den enkellänkade listan innehåller en referens till nästa element i listan, medan varje element i den dubbellänkade listan innehåller referenser till nästa element såväl som föregående element i listan. Dubbellänkade listor kräver mer utrymme för varje element i listan och elementära operationer som infogning och borttagning är mer komplexa eftersom de måste hantera två referenser. Men listor med dubbla länkar möjliggör enklare manipulering eftersom det gör det möjligt att gå igenom listan i riktningar framåt och bakåt.

Rekommenderad: