What's the most intuitive way to think about BST deletion?
Zero and one child make sense to me. The two-children case is where I get lost. Why is replacing with the successor (or predecessor) always safe? And how do you all keep straight which one to use?