DEV Community

Cover image for Data Structure Sketches
Oleksii Trekhleb
Oleksii Trekhleb

Posted on • Originally published at trekhleb.dev

Data Structure Sketches

Recently I launched the minimalistic online drawing app okso.app. I wanted it to be a place where people could do fast, ad-hoc, napkin-based-like explanations of any concept as if you are sitting with your friend and trying to explain him/her something during lunch. Don't ask me why it is needed, I was just experimenting.

Btw, that's why the app name is "Ok! So...", because oftentimes these are the opening words after you pick up the pen and the piece of paper (or a whiteboard) and start drawing. I didn't see the study and the statistics of the opening phrases though, so I might be wrong here, here πŸ˜€

So, the first concept I've tried to explain with sketches was the Data Structures. Without further ado, here is the interactive ✍🏻 Data Structure Sketches showcase that you may play with.

Data Structure Sketches

Here is a YouTube version of the GIF just in case:

Of course, not all data structures are covered. And of course, this is not comprehensive material, but rather a cheatsheet that would create visual hints and associations for the following data structures:

  • Linked List
  • Doubly Linked List
  • Queue
  • Stack
  • Hash Table (with hash collision resolution)
  • Tree (including the Binary Search Tree)
  • Heap (including Mean Heap and Max Heap)
  • Trie
  • Graph

Each box on the sketch is clickable, so you may dig into the data structure you're interested. For example Heap β†’ Max Heap, or Heap β†’ Min Heap, or Heap β†’ Array Representation.

The sketches are split into so-called Pages just to make it easier to grasp them, so the users stay focused on one concept at a time, they see the relationship between the concept, and thus, hopefully, they are not getting overwhelmed with seeing a lot of information at the same time on one drawing/page.

Each page has a link to the source-code examples that are implementing the data structure on JavaScript.

Here are some examples of the sketches.

Doubly Linked List

Doubly Linked List

Tree

Doubly Linked List

Hash Table

Doubly Linked List

Trie

Doubly Linked List

Graph

Doubly Linked List

The full list you may find in the ✍🏻 Data Structure Sketches showcase.

I hope you find this showcase useful and I hope it will be a good visual cheatsheet-like complement to your data structure knowledge.

Top comments (0)