In preorder traversal, logic is done on the current node before moving to the children.

Let's say that we wanted to just print the value of each node in the tree to the console.

In that case, at any given node, we would print the current node's value, then recursively call the left child, then recursively call the right child (or right then left, it doesn't matter, but left before right is more common).

For inorder traversal, we first recursively call the left child, then perform logic (print in thise case) on the current node, then recursively call the right child.

This means no logic will be done until we reach a node without a left child since calling on the left child takes priority over performing logic.