In this repository you can find experimental implementations of well-known algorithms and data structures written in Java and Python.
Below is a (non-exhaustive) list of the things you will find:
- Inverted index: Pretty basic but nice (deletion not supported).
- Hash table: It uses a chaining with linked list strategy
- Bit set / Bit array: Supports intersection and union operations but they need to be optimized
- Bloom filter: Very basic hash functions
- Heap
- Binary tree
- Sorted array list
- Sorted linked list
- Double linked list
- Quick sort: It supports several pivot selection strategies
- Merge sort
- Bubble sort
- Insertion sort