Receive regular tips about Java programming, algorithms and data structures!

Unsubscribe whenever you want. Read my Privacy Policy.

Dijkstra's Algorithm (with Java Examples)

How does Dijkstra's algorithm work? How to implement the Dijkstra algorithm in Java? How to determine its time complexity?

Shortest Path Algorithm (With Java Examples)

What is the difference between "Shortest Path" and "Pathfinding"? Which shortest path algorithms are there?
Labyrinth algorithm: How to find the shortest path between two points in a labyrinth?

The best and most interesting biographies of the tech industry to read: Steve Jobs, Jeff Bezos, Elon Musk.

How to compare two objects in Java? What is the difference between Comparator and Comparable? How to create a Comparator with Java 8?

Counting Sort – Algorithm, Source Code, Time Complexity

All sorting methods presented so far are based on the comparison of two elements on smaller, larger or equal. You will learn that there are also so-called non-comparison-based sorting methods in this article about Counting Sort.

Heapsort – Algorithm, Source Code, Time Complexity

In this article, I'll show you that Heapsort has nothing to do with the Java heap. I'll show how it works, its Java source code, and I'll explain how to determine its time complexity.

Merge Sort – Algorithm, Source Code, Time Complexity

This article describes how Merge Sort works, shows its Java source code and explains how to determine its time complexity.

Quicksort – Algorithm, Source Code, Time Complexity

This article describes how Quicksort works, shows the Java source code and explains how to determine its time complexity.

Bubble Sort – Algorithm, Source Code, Time Complexity

In this article, I describe how Bubble Sort works, introduce the source code, and explain how to derive its time complexity.

Selection Sort – Algorithm, Source Code, Time Complexity

In this article, I describe how Selection Sort works, show its source code, and explain its derivation of time complexity.