Awesome
Data-Structures-in-Java
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