
The following articles describe various tree data structures. A tree is a hierarchical structure with a root node and its children, which in turn can have children of their own and thus form subtrees.
On this page, you find an overview of all articles about algorithms and data structures.




The following articles describe various tree data structures. A tree is a hierarchical structure with a root node and its children, which in turn can have children of their own and thus form subtrees.




Pathfinding or shortest path algorithms are used to find a path (or the shortest path) between two nodes within a graph.
What you’ll learn:





This category covers general articles about algorithms without any specific type of algorithm in mind, e.g., classifications of algorithms.



If you need a refresher on how the most common sorting algorithms work and how they differ, this series is for you.
What you’ll learn:











Free Bonus:
Big O Cheat Sheet
[7 Time Complexity Classes on 1 Page]
Use this 1-page PDF cheat sheet as a reference to quickly look up the seven most important time complexity classes (with descriptions and examples).
You get access to this PDF by signing up for my newsletter. I won’t send any spam, and you can opt-out at any time.
In this tutorial series, you will learn everything about the abstract data type “stack”, how to use it, and how to implement your own stack classes in Java.








In this tutorial series, you will learn everything about the abstract data type “queue”, which methods it provides, how to use queues, when to use which queue implementation and how to program your own queues in Java.
















In this tutorial series, you will learn everything about the abstract data type “deque”, which methods it provides, how to use deques, when to use which deque implementation and how to program your own deques in Java.











What are data structures? A data structure is a collection of related data values and their relationships with each other. It provides operations to read or modify the data.
Java data structures are, for example, collections, maps, and sets, trees, queues, deques, and stacks.



In the following articles, you will find object-oriented, test-driven Java solutions for Advent of Code:



My blog features many articles on Java, software architecture, and performance — from foundational concepts to advanced patterns.
If you want to go deeper, check out my trainings: hands-on, easy to understand, and directly applicable to your day-to-day project work. Instead of theory, I teach principles that help you write code that is better, more maintainable, and more performant in the long run.
Explore the Java Trainings