Array:
Linked List:
- Design Singly Linked List
- Design Doubly Linked List
- Design Skiplist
Stack / Queues:
- Min Stack
- Max Stack
- Implement Queue using Stacks
- Implement Stack using Queues
- Design Circular Deque
- Design Circular Queue
- Moving Average from Data Stream
- Design Bounded Blocking Queue
- Design a Stack With Increment Operation
HashTable:
- Design a Hash Table Hash Table
- Unique Word Abbreviation
- Two Sum III – Data structure design
- Shortest Word Distance II
- Insert Delete GetRandom O(1)
- Insert Delete GetRandom O(1) – Duplicates allowed
- Time Based Key-Value Store
Trees:
- Binary Search Tree Iterator
- Serialize and Deserialize BST
- Serialize and Deserialize Binary Tree
- Serialize and Deserialize N-ary Tree
Heap:
Trie:
- Implement Trie (Prefix Tree)
- Add and Search Word – Data structure design
- Prefix and Suffix Search
- Search Suggestions System
Cache:
File:
- Design a File Sharing System
- Design File System
- Find Duplicate File in System
- Design Log Storage System
- Design Underground System
Similar:
- Flatten 2D Vector
- Nested List Weight Sum
- Flatten Nested List Iterator
- Peeking Iterator
- Zigzag Iterator
- Design Compressed String Iterator
- Iterator for Combination
- Flatten a Dictionary
General Design:
- Design Search Autocomplete System
- Design Tic-Tac-Toe | Valid Tic-Tac-Toe State | Find Winner on a Tic Tac Toe Game
- Design Log Storage System
- Design Snake Game
- Design Phone Directory
- Design Twitter
- Design Hit Counter
- Logger Rate Limiter
- Design Excel Sum Formula
- Design A Leaderboard
- Design Browser History
- Dinner Plate Stacks
- All O`one Data Structure