Algorithm Implementations My implementations of classic algorithms and data structures in Python, C, C++11 and Java. Features Tests included Clean code In 4 major programming languages Data Structures Trie Segment Tree Binary Indexed Tree Disjoint Set Algorithms Category Algorithms search binary search selection quick select, BFPRT select sorting bubble sort, selection sort, merge sort, heap sort, quick sort shuffle Fisher–Yates string naive string matcher, KMP string matcher tree traversal recursive, stack, Morris dutch national flag three way partition linked list find middle, reverse linked list, merge sort