This repository contains various data structures and provide insights about them. Feel free to create an issue if you see one in any of the implementations.
Data Structures :
These is just a basic set, we have lot of other data structures as well,
- 
Linear
- Index Based
- Arrays
 
 - Non Index Based
- List
 - Queue
 - Stack
 
 
 - Index Based
 - 
Non Linear
- Hash Tables
 - Set
 - Priority Queue
 - Tree
- Balanced
- Red Black Tree
 - AVL Tree
 - Splay Tree
 
 - Non Balanced
- Binary Tree
 - Binary Search Tree
 - B Tree
 - Trie
 
 
 - Balanced
 
 
Below topics/problems are covered as of now.
1. Strings
2. Arrays
- Arrays Introduction
 - Basic operations on Arrays
 - Associative Array
 - Sparse Array
 - Pair
 - Tuple
 - ArrayList Implementation
 
3. LinkedList
- Linked List Introduction
 - Singly LinkedList Implementation
 - Doubly LinkedList Implementation
 - Circular LinkedList Implementation
 
4. Stack
- Stack Introduction
 - Simple stack from list
 - Array based Implementation
 - LinkedList based Implementation
 - Queue based Implementation
 
5. Queue
- Queue Introduction
 - Array based Implementation
 - LinkedList based Implementation
 - Stack based Implementation
 
6. Vector
7. Matrix
- Matrix Introduction
 - Sparse Matrix
 
8. Trees
- Introduction
 - Binary Tree
 - Binary Search Tree
 - AVL Tree
 - Splay Tree
 - B Tree
 - B+ Tree
 - Segment Tree
 - Red Black Tree
 - K Dimensional Tree
 - Suffix Tree
 - A B Tree
 
9. Graphs
- Introduction
 - How graphs are represented in memory
 - Graph Implementation
 - MultiGraph Implementation
 - BFS for Graphs
 - DFS for Graphs
 
10. Heap
- Introduction
 -  Binary Heap
- Min Heap
 - Max Heap
 
 - Binomial Heap
 - Fibonacci Heap
 - Weak Heap
 
11. Hashing
- Introduction
 - Iterator v/s Enumeration
 - HashTable v/s HashMap
 - HashCode and Equals Contract
 - Bloom Filter
 - Lookup Table
 -  Collision Handling
- Separate Chaining
 - Linear Probing
 - Double Hashing
 
 - HashMap Implementation
 - ConcurrentHashMap Introduction
 - ConcurrentHashMap Implementation
 - ConcurrentModification Exception
 - WeakHashMap Implementation
 - HashTable Implementation
 - Distributed HashTable
 - HashSet Implementation
 - HashList Implementation
 - Dictionary Implementation
 - MultiMap
 
12. Set
- Introduction
 - Set Implementation
 - MultiSet
 
13. Priority Queue
- Introduction
 - Array based Implementation
 - Stack based Implementation
 - Dequeue Implementation
 - Skip List
 
14. Trie
15. Treap
- Introduction
 - Treap Implementation
 
16. Cache
17. Miscellaneous
-  Bag
- Linked List Based
 - Binary Search Tree Based
 
 
18. Common Utils
19. Iterators
- Standard Iterator
 - Deep Iterator
 - Filtering Iterator
 - Hopping Iterator
 - InOrder Iterator
 - LevelOrder Iterator
 - MaxIterator Iterator
 - MultiIterator Iterator
 - Peek Iterator
 - PreOrder Iterator
 - Rotating Iterator