In this post we show how to implement **GCD** in **Java** using **Euclidean Algorithm**. **GCD** is known as **Greatest Common Divisor/Factor/Measure**, **Highest Common Divisor/Factor**.

**Algorithms**

## Quicksort in Java

Quicksort is one of the fastest sorting algorithms. In this article we implement **Quicksort in Java**, describe how it works and its properties.

## Graph representation

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

## Merge Sort in Java

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

## Bubble Sort in Java

**Bubble 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.

## Towers of Hanoi recursive version

**Towers 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.

## Top 10 sites to practice programming

## Prime numbers – Sieve of Eratosthenes in Java

## Prime 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.

## Insertion Sort in Java

## Insertion Sort in Java

**Insertion Sort** is another simple to understand and implement algorithm. Unlike **Selection Sort** it can work faster with certain data.

## Selection Sort in Java

## Selection 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!