Forskel Mellem Singly Linked List og Doubly Linked List

Anonim

Enligslægt Liste vs Doubly Linked List

Tilknyttet liste er en lineær datastruktur, der bruges til at gemme en samling data. En tilknyttet liste tildeler hukommelsen til dets elementer separat i sin egen blok af hukommelse, og den overordnede struktur opnås ved at forbinde disse elementer som links i en kæde. En enkelt tilknyttet liste består af en række noder, og hver knude har en reference til den næste knude i sekvensen. En dobbeltforbundet liste indeholder en række noder, hvor hver knude indeholder en reference til den næste node såvel som til den forrige knude.

Enlig tilknyttet liste

Hvert element i en enkelt tilknyttet liste har to felter som vist i Figur 1. Datafeltet holder de faktiske data gemt, og det næste felt indeholder referencen til det næste element i kæden. Det første element i den linkede liste gemmes som hovedet på den linkede liste.

Figur 2 viser en enkeltforbundet liste med tre elementer. Hvert element gemmer sine data, og alle elementer undtagen den sidste gemmer en henvisning til det næste element. Sidste element har en nullværdi i det næste felt. Ethvert element i listen kan nås ved at starte ved hovedet og følge den næste peger, indtil du opfylder det ønskede element.

Helt tilknyttet liste

Hvert element i en dobbeltforbundet liste har tre felter som vist i Figur 3. Ligesom en enkelt tilknyttet liste holder datafeltet de faktiske data gemt, og det næste felt indeholder referencen til det næste element i kæden. Derudover indeholder det foregående felt referencen til det foregående element i kæden. Det første element i den linkede liste gemmes som hovedet på den linkede liste.

Figur 4 viser en dobbeltforbundet liste med tre elementer. Alle mellemelementerne lagrer referencer til de første og tidligere elementer. Det sidste element i listen indeholder en nullværdi i sit næste felt, og det første element i listen har en null-værdi i sit tidligere felt. Dobbeltkoblet liste kan krydses frem ved at følge de næste referencer i hvert element, og det samme kan krydses baglæns ved hjælp af de tidligere referencer i hvert element.

Hvad er forskellen mellem en enkeltliste og en dobbeltforbundet liste?

Hvert element i den enkeltstående link indeholder en henvisning til det næste element i listen, mens hvert element i den dobbeltforbundne liste indeholder henvisninger til det næste element samt det foregående element i listen. Dobbelt forbundne lister kræver mere plads til hvert element i listen, og elementære operationer som indsættelse og sletning er mere komplekse, da de skal behandle to referencer. Men dobbeltliste lister muliggør lettere manipulation, da det giver mulighed for at krydse listen i fremad og bagud retning.