Shuffling of arrays/lists sounds like a trivial task, but in reality it’s full of subtle traps. Here we show how to implement Fisher-Yates Shuffle Algorithm in Java.
Divide and Conquer algorithms are great subject for parallelism. Here we present Parallel Merge Sort implemented using Java ForkJoin Framework.
In this post we’re going to implement calculation of Greatest Common Divisor GCD in Clojure using Euclidean algorithm for two and more numbers.
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.
We show how to remove duplicates from List in Java. Choose implementation depending on circumstances and with expected performance.
Insertion sort in Clojure can be implemented in different ways. In this post we compare implementations with and without Clojure transients.
Quicksort is one of the fastest sorting algorithms. In this article we implement Quicksort in Java, describe how it works and its properties.
Graphs are fundamental data structure that help to solve many algorithmic problems. In this post we show different graph representations and their properties.
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 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.