As many other algorithms in **Linked List** – **remove element from given position** runs in linear time. Here we are going to implement it to better understand how it works.

**algorithms**

## Linked List – insert element at position

In this post we’ll implement another algorithm for Linked List – insert element at position. The algorithm works in linear time in the worst case.

## Linked List add element at the end

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.

## Floyd Cycle detection in Java

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 detector in Java

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

## Shuffle Algorithm in Java

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

## Parallel Merge Sort in Java

**Divide and Conquer** algorithms are great subject for **parallelism**. Here we present **Parallel Merge Sort** implemented using **Java ForkJoin Framework**.

## GCD in Clojure using Euclidean algorithm

In this post we’re going to implement calculation of **Greatest Common Divisor GCD in Clojure** using **Euclidean algorithm** for two and more numbers.

## GCD in Java using Euclidean Algorithm

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

## Remove duplicates from List in Java

We show how to **remove duplicates from List in Java**. Choose implementation depending on circumstances and with expected performance.