← Blog## JavaScript Data Structures: Recap: Lists, Stack, Queue

## Intro

## Our Data Structures

### Singly Linked List

### Doubly Linked List

### Stack

### Queue

## Big O

## Further Reading 📖

## Questions ❔

## Next Part ➡️

January, 2020

Last time, we made a recap of the Queue data structure.

Today, we want to make a recap about all our learned data structure so far.

All of these data structures are linear, meaning its elements are connected in a sequence and we can traverse the whole data structure in a single run.

We started with the Singly Linked List. This was our longest series of 11 lessons, because usually it takes most of the time to understand some basic concepts, e.g. what “linked” means, how a node works and which methods our data structure needs. Every element in a Singly Linked List has a pointer to its next node.

After we’ve finished the Singly Linked List, we learned about the Doubly Linked List in a series of 10 lessons. Because we already had some insights about the concepts of a Singly Linked List, it became easier to understand the concepts, to learn about the Pros and Cons of a Doubly Linked List and to implement it. Every element in a Doubly Linked List has a pointer to its next node *and* to its previous node.

After we’ve finished the Doubly Linked List, we had some solid fundamentals to start with the Stack and to learn about its “Last In, First Out”-Principle, e.g. when we have a deck of cards.

After we’ve finished the Stack, we started with the Queue and learned about its “First In, First Out”-Principle, e.g. when we stand in line in a store.

All of our 4 data structures have the same Big O values.

- Wikipedia: Singly Linked List
- Wikipedia: Doubly Linked List
- Wikipedia: Stack
- Wikipedia: Queue
- Wikipedia: Other Linear Data Structures

- What additional data structure are you interested in?
- Can you think about additional methods for our data structures?

We will start with a new data structure!

Don’t miss interesting stuff, subscribe!

Hi! I'm Michael 👋 I'm a problem solver and mentor. My goal is to build great products and help you to become a better developer.