Graphs are fundamental data structure that help to solve many algorithmic problems. In this post we show different graph representations and their properties.

Continue reading Graph representation# Algorithms

In this post we’ll implement Merge Sort in Java. It’s fast, divide and conquer, sorting algorithm that can also be parallelized.

Continue reading Merge Sort in JavaBubble Sort is a sorting algorithm that repeatedly goes through an array and swaps adjacent elements that are not in order. In this post we’ll show how to implement it.

Continue reading Bubble Sort in JavaTowers of Hanoi is a well known puzzle, very often used to teach recursion. In this post we will show how to solve this puzzle recursively.

Continue reading Towers of Hanoi recursive versionTop 10 sites to practice programming

Continue reading Top 10 sites to practice programmingPrime numbers – Sieve of Eratosthenes A prime number is a natural number with only two divisors: 1 and itself. In this post we’re going to show how to find prime numbers using Sieve of Eratosthenes and explain how it works.

Continue reading Prime numbers – Sieve of Eratosthenes in JavaInsertion Sort in Java Insertion Sort is another simple to understand and implement algorithm. Unlike Selection Sort it can work faster with certain data.

Continue reading Insertion Sort in JavaSelection Sort in Java Selection Sort is one of many sorting algorithms, but unlike a few others it is easy to understand and implement as we’re going to show here!

Continue reading Selection Sort in JavaBinary Search algorithm in Java Binary Search is the fastest algorithm for finding an element in a sorted list. Also it’s easy to implement what we’re going to show in this post.

Continue reading Binary Search algorithm in Java