- These are the first two cases that we have to consider…while deleting a node from a binary search tree.…Now, let's look at the third case.…In the third case, the node to be deleted has two children.…And this case is the most complicated of all.…Let's say we have to delete the node having data 33.…Now, this node 33 has two children, 25 and 39.…So, how do we delete this node?…Think about the options.…

Can we replace the node 33 with this node 39?…Well, if we do that, you can see that node 39…will have three children…and that is not a binary tree, right?…So, we cannot do that.…Well, we may try to connect these two nodes,…the parent and the right child of the node to be deleted.…But, if we do that, you can see that…this whole subtree will be lost.…So, we can't do that either.…Now, think about this. What we really want to do here is…find a replacement for node 33 from within the tree…such that none of the nodes are lost and the structure…of the binary search tree is also maintained.…

So, which node should come here?…

Resume Transcript Auto-Scroll

Author

Released

11/20/2017

Enhance your programming skill set by learning about some of the most commonly-used data structures and algorithms. In this course, instructor Raghavendra Dixit walks through how to use Java to write code to implement data structures and algorithms. After explaining why it's advantageous to study these topics, he goes over the analysis of algorithms and discusses arrays—a data structure found in most programming languages. He also explains how to implement linked lists in Java, and covers stacks, queues, recursion, binary search trees, heaps, and more.

Note: This course was created by Packt Publishing. We are pleased to host this training in our library.