Linked List is a simple data structure. Implementing it from scratch helps to understand its properties. We’ll implement Linked List add, size, and print its contents.
One of the best known algorithms to detect a cycle in a linked list is Floyd Cycle detection. Using Floyd’s algorithm we can detect cycle, its beginning, and length.
Palindrome is a sequence of chars which reads the same backward and forward. Detecting palindrome is a common job interview task therefore we’ll show how to implement that.
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 show how to implement GCD in Java using Euclidean Algorithm. GCD is known as Greatest Common Divisor/Factor/Measure, Highest Common Divisor/Factor.
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.