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

Unsubscribe whenever you want. Read my Privacy Policy.

What is an AVL tree? How do you calculate a node's balance factor? How does rotation work and how is an AVL tree balanced? How to implement an AVL tree in Java?

What is a binary search tree (BST)? How do you insert new elements, how do you search for them, and how do you delete them? How do you implement a BST in Java? And how does it differ from similar data structures?

What is a binary tree, and what types exist? How to implement a binary tree in Java? What are its operations? What are pre-order, in-order, post-order, and level-order traversals?

Binary Search (with Java Code)

How does binary search work? How to implement binary search in Java? What binary search functions does the JDK provide? How fast is binary search compared to linear search?

Floyd-Warshall Algorithm (With Java Example)

How does the Floyd-Warshall algorithm work, and when do you use it? What are its variants? How to determine its time complexity?

Bellman-Ford Algorithm (with Java Example)

How does the Bellman-Ford algorithm work, and when to use it? Where do negative edge weights occur in practice? How do you determine the time complexity of Bellman-Ford?

A* Algorithm (with Java Example)

How does the A* algorithm work and how does it differ from Dijkstra's algorithm? How to implement A* in Java? How to determine its time complexity?

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?