Inserting reuses the same search path, then attaches the new value where the search would have failed. You walk down comparing, going left for smaller and right for larger, until you reach an empty child slot. You place the new node there as a leaf.
New values always land as leaves, so existing nodes never move. That keeps insertion simple and preserves the ordering invariant automatically, since you followed it on the way down.
The cost mirrors search: proportional to height, so O(log n) on a balanced tree and O(n) on a skewed one. Duplicates need a rule decided up front, like sending equals right or bumping a count on the existing node. One catch: inserting already-sorted values builds a long one-sided chain. Without rebalancing, the tree becomes a slow list, which is why real systems self-balance after inserts.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
The diagram below the answer is the concept . Jump to it ↓