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?
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?
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?
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?