Data structures and algorithms implementations with several languages (C, Python, Java and Javascript)
These implementations may not be optimized or completely true. After I implement or try to do it myself, I search for optimizations and change the code if needed.
- Linked List
- Doubly Linked List
- Queue
- Stack
- Dynamic Array
- Hash Table
- Heap
- Priority Queue
- Tree
- Binary Search Tree
- AVL Tree
- Red-Black Tree
- Graph
- Disjoint Set
- Sorting
- Searching
- Strings
- Rabin Karp Algorithm - pattern search
- Knuth–Morris–Pratt Algorithm
- Z Algorithm
- Hashing
- Polynomial Hash - rolling hash
- Linked Lists
- Straight Traversal
- Reverse Traversal
- Trees
- Depth-First Search
- Breadth-First Search