Binary search trees are a fundamental data structure used to construct more abstract data structures such as sets, multisets, and associative arrays. When inserting or searching for an element in a binary search tree, the key of each visited node has to be compared with the key of the element to be inserted or found. Wikipedia Important Definitions Binary Tree: A tree that starts …

## Depth First Search vs Breadth First Search

What’s the point? Why inflict this pain upon ourselves? It turns out that many of the coolest algorithms involve some form of exploring. Now exploring can mean a ton of things but in this case, we are talking about exploring a graph (Basically: A collection of things connected by roads). Ok fine, why are there 2 of them? There are …

## Hashing Algorithms

What is hashing? Hashing is a method that reliably takes an input and converts it into a hash (output), the hash cannot be converted back into the input (usually). Why Hash in the first place? To understand why we hash things, first ask yourself. How can facebook check that your password is correct without having it saved? The answer is …

## Sorting Algorithms

Why? A Sorting Algorithm is used to rearrange a given array or list elements according to a comparison operator on the elements. The comparison operator is used to decide the new order of element in the respective data structure. – Geeks4Geeks Note: If you want a refresher on Big O notation, Click Here Let’s start with some fan favorites Bubble …

## Big O Notation

What is Big Oh Notation? Big O notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity. It is a member of a family of notations invented by Paul Bachmann, Edmund Landau, and others, collectively called Bachmannâ€“Landau notation or asymptotic notation. – Our lord and savior Wikipedia Properties of Big-Oh Notation If f_1(n) is O(g_1(n)) …