BLOG

  • Technical Topics

    The following is a list of technical topics that I have been asked about in interviews, it is a high level revision sheet, designed to...
  • Fibonacci Recursive and Iterative

    Printing Fibonacci sequence up to n. Below I have re-produced a number of common approaches to calculating Fib(n); Then to print the sequence of Fib(n)...
  • Merge Sort

    Merge Sort avoids the risk of Quick Sort’s worst case \(O(n^2)\) runtime, however Merge Sort makes use of an additional Array to perform the sorting,...
  • Breadth First Search

    Graphs and Trees are a versatile way of representing the real world, described in terms of nodes (ie the entities of interest) and edges (ie...
  • Binary Search

    A comparison search algorithm using a divide-and-conquer approach for use on sorted elements, finds the index position of a value in an array. This approach...
  • Moving from London To Dublin

    I received a huge amount of support and excellent advice when moving from London to Dublin. Some of this has stuck with me and I...
  • Quick Sort

    A very common and efficient in-place, comparison sorting algorithm, usually implemented with recursion, swaps elements around a pivot. For best performance the choice of pivot...
  • Overflow in Divide-and-Conquer

    Google’s Joshua Bloch posted on this subject in 2006 A divide-and-conquer algorithms usually rely on calculating a mid point, historically in most implementations even in...
  • Insertion Sort

    A simple search algorithm, we iterate through each element in our array starting from index=1, we store arr[i] in a temp variable, we then test...

Subscribe