Quick Sort

Quick Sort is a sorting algorithm that uses the principle “divide-et-empera” for sorting, it’s one of most used sorting algorithms nowadays. In 90’s there was discovered a defect in C implementation of quicksort that caused sorting complexity to be higher than expected one. The difference between quick sort and merge sort is that quick sort […]

Continue reading


Symbol Table

Symbol Table is a data structure used to store key-value stores, it is used by every compiler for almost every phase of compilation, starting with lexical analysis and continuing with optimization. They are collection of key-value pairs, where we can insert a value with a specific key, and search for a value given it’s key. […]

Continue reading