DEV Community

Looking At Linked Lists

Denise Pen on February 11, 2019

A linked list is a data structure that includes a 'linked' sequence of nodes. Each node contains data. In a singly linked list each node points to...
Collapse
 
dystroy profile image
Denys Séguret

There are three things to know regarding linked list based structures (including double linked lists and more complex structures):

  • they're very rarely the most efficient structure, even if their theoretical big O cost is pretty. They consume a lot of memory and this memory is fragmented.

  • they almost always imply tricky corner cases which means a big test list and some unexpected bugs after months or years of production (true story, and that was billions of computations during 15 years until a case that I finally understood)

  • sometimes they're useful... probably not for your problem, and you should have checked you didn't in fact need a ring buffer or a vector, but yes there are still some use cases...

Collapse
 
denisepen profile image
Denise Pen

Which data structures are you referring to when you say "it underpins a number of standard data structures used today". I'm assuming stacks and queues. Is there anything else?

Also, thanks for responding. I'm learning so much from reading responses to all the blog posts.