This is a repository where I upload my implementations of various algorithms we examine on our school. I also add homework files when it is applicable(i.e. if homework requires programming, I upload its programming part). So far, I have implemented the ones below:
These algorithm implementations can be found on sorts.h file.
- Insertion Sort
 An in-place sorting algorithms with worst case running time scenario. 
- Merge Sort
 An algorithm that uses divide and conquer. Its running time is
- Quick Sort
 Another sorting algorithm that uses divide and conquer method. Worst case running timebut expected running time is . 
- 
Red Black Tree 
 Red Black Trees are special kind of binary search trees where tree is guaranteed to be in balance. Tree size is lgn at most.
- 
Order Statistic Tree 
 In this repo, you can find an order statistic tree based on red black trees. Order statistic tree is an efficient tree structure to get the ith smallest item where i is an index of your choice.
- 
Minimum Heap 
 Priority queue implementation using minimum heaps.
- 
Graph 
 Graph implementation using adjacency list. Same file also has breadth first and depth first search algorithms inside it.