# Blog posts

• Jul, 2019
• Jul 30, 2019 Fibonacci Numbers  - a quick overview of fibonacci numbers

• Jun, 2019
• Jun 18, 2019 Permutations, Substrings and Subsequences  - explaining the difference between permutations, substrings and subsequences of a string
• Jun 06, 2019 Permutations and Combinations  - a quick introduction to permutations and combinations

• May, 2019
• May 23, 2019 Recursion  - a quick overview of recursion and recursive algorithms
• May 17, 2019 Bitwise Operations  - a quick overview of commonly used bitwise operations
• May 06, 2019 Mathematical Progressions  - a quick overview on different types of mathematical progressions

• Apr, 2019
• Apr 28, 2019 Quick Sort  - Another divide and conquer based algorithm that sorts the elements around a pivot element recursively.
• Apr 27, 2019 Merge Sort  - A divide and conquer based sorting algorithm that works by dividing the input in two halves in each iteration and then eventually merging those in sorted order.
• Apr 21, 2019 Insertion Sort  - InsertionSort algorithm that sorts the given input dataset, one element at a time.
• Apr 20, 2019 Selection Sort  - SelectionSort algorithm to sort input dataset by finding minimum element in each iteration and posting it on its correct position.
• Apr 17, 2019 Bubble Sort  - BubbleSort algorithm for sorting input data by swapping adjacent elements (if required)
• Apr 14, 2019 Interpolation Search  - Interpolation Search, used for sorted data also works on the idea of checking fewer elements by discarding a portion of the input in every iteration.

• Feb, 2019
• Feb 17, 2019 Jump Search  - A searching algorithm for sorted input that performs better than linear-search as it performs fewer comparisons.
• Feb 15, 2019 Binary Search  - Binary Search algorithm used for sorted datasets. This performs better than linear search for sorted input and completes in log(n) time as it works on the principle of working only half of the dataset in each iteration.
• Feb 13, 2019 Linear Search  - Linear Search also known as sequential search is a O(n) performing algorithm used primarily for its simplicity and brute-force nature.
• Feb 06, 2019 Algorithm Complexity - What, How, Why  - Algorithm Complexity, BigO notatoin. WorstCase/AverageCase algorithm performance analysis.