包含二叉树旋转说明的代码(左或右)

时间:2011-01-04 19:40:57

标签: rotation binary-tree

我一直试图围绕如何编写用于旋转二叉树的代码。我查看了http://en.wikipedia.org/wiki/Tree_rotation和enfuzzled.com 我一直盯着这看了2个小时,并且多次提前看过它。我仍然在维基百科文章中看到问题,并且完全无法理解另一个问题。

维基百科文章中提到的这两行都不能立即生效

让P成为Q的左子。 将P设置为新根。

有人可以帮忙吗?谢谢

2 个答案:

答案 0 :(得分:6)

根据您对该问题的评论,您正在寻找旋转算法的指导。这是一本优秀的书http://www.amazon.com/Introduction-Algorithms-Third-Thomas-Cormen/dp/0262033844中的LEFT-ROTATE算法。

alt text

答案 1 :(得分:2)

“让P为Q的左子。将P设为新根。”基本上这是向右或顺时针旋转的描述:

  Q      P
 /   =>   \
P          Q