Big O notation is a tool we use to estimate how long a program or an algorithm will run. On this blog we’ve covered a lot of algorithms but we only touched on the big O notation. If you have a degree in computer science then you’re probably familiar with… Read more »
Working in swift (and ObjC) you should be comfortable working with async code. Sooner or later you’ll run into a problem called ‘callback hell’ where in the completion handler of one method you’re doing another async call. And in the completion handler of that async method you call another, and so… Read more »
It’s been a while since I wrote a book review, mainly because there was a lot of interesting things to write about and book reviews are generally boring 🙂 But this one book deserves to be mentioned. Cracking the Coding Interview is one of my favourite books. It’s a book… Read more »
Enigma Machine was a famous cipher machine that the germans used during the World War 2. In its time it was believed to be uncrackable. Allied forces managed to crack the enigma machine during the war and Alan Turing played a key role in cracking it. In this article we’ll… Read more »
Some time ago I wrote on using realtime database from firebase and about Firebase Cloud Messaging. In this article we’ll talk about using Firebase Cloud Functions. With Firebase Cloud Functions you get to write your own functions that can execute on firebase servers. In this article we’ll cover three basic scenarios: sending an… Read more »
Bellman-Ford algorithm is a very versatile algorithm for finding the shortest path on an edge weighted directed graph. It differs from Dijkstra’s algorithm in that it can handle the negative cycles on the graph. In this article we’ll implement the Bellman-Ford algorithm in swift and with it conclude our journey… Read more »
Edge weighted digraphs can be used for a large number of things. In some cases we want to know if there’s a directed cycle between the nodes (or vertices). For example, if we’re working on a scheduling app, we would be interested to know if there’s a cycle on the… Read more »
Queue is a simple and widely used data structure that operates on a first in first out principle. Sometimes you can hear them being referred to as FIFO (first in first out) queues. In this article we’ll implement a queue with doubly linked list in swift. A linked list is… Read more »
Binary search trees are one of the most fundamental data structures in computer science. They are very efficient when inserting and searching for elements. And if you’re preparing for a technical interview it’s more than likely that you’ll be asked about them. In this article we’ll go over the theory… Read more »
Last week we’ve talked about edge weighted digraphs in swift. This week we’ll talk about a famous algorithm that’s using that data structure. Dijkstra’s algorithm is a simple and well-known algorithm for finding a shortest path between two points on a graph. In this article we’ll implement Dijkstra’s algorithm in… Read more »