After rereading the chapter on binary search tree (Chapter 12), I think I finally grok deletion. In fact there are two non-trivial issues of binary search tree, one is to find a successor node when the right node is empty. (In that case, you are always look for an ancestor whose left child is also an ancestor of the node.
The other is in deletion of a node with two child nodes, you always want to delete the tree-minimum of the right sub tree. Once these two issues are thought through, you understand all operations of binary trees. (The others are more like simple recursive thinking).
Another good news is that I also reread red-black tree, this time, it starts to make sense on why we have this funny color fix-up algorithm. The most important is to visualize the two different cases where the red-black properties should be handled. I don't really grok at this point but I think I understand way more. It is super-complicated but it's also how the thing should work. I stopped at deletion because it is even more complicated.
It's funny to see the whole business of building a balanced tree is so difficult. This read is good. I also finished in my head some exercises.
This is my self-study page for the book, "Introduction to Algorithm", or commonly known as CLRS. This is also my diary page of how I struggle and grow in the programming world. I hope this blog can help amateurs or professionals, to improve their skills in programming, learning and living. As of Sep 12, 2011, I finished the "exercise read" of Chapter 2 (20110518) and 3 (20110608) and half of Chapter 4.
Shortcut for chapter specific information
Chapter4
(62)
chapter3
(41)
Chapter2
(22)
chapter6
(10)
chapter12
(9)
chapter15
(8)
chapter13
(7)
chapter7
(7)
Chapter10
(5)
chapter5
(5)
Appendix A
(4)
chapter8
(4)
Chapter19
(3)
Chapter22
(3)
Chapter34
(3)
Chapter35
(3)
chapter11
(3)
chapter16
(3)
chapter18
(3)
Appendix C
(2)
Chapter21
(2)
Chapter25
(2)
Chapter26
(2)
Chapter27
(2)
Chapter28
(2)
Chapter29
(2)
Chapter9
(2)
chapter14
(2)
chapter20
(2)
chapter23
(2)
chapter24
(2)
chapter30
(2)
chapter31
(2)
chapter32
(2)
Appendix D
(1)
Chapter1
(1)
Chapter33
(1)
chapter17
(1)
No comments:
Post a Comment