【发布时间】:2015-01-07 11:17:42
【问题描述】:
1 5
/ \ |
2 3 --> 2
/ \ / \ / \
4 5 6 7 1 4
|
3
/ \
6 7
假设你有一棵像左边一样的二叉树,并尝试将它转换为右边的。
它的作用是碰撞二叉树的“任何”单个叶节点——本例为“5”——这使得叶节点成为新的根节点。原始根节点(及其子节点)——本例中的“1”及其子节点——占用了当时的叶节点空间。
一般算法是什么?
感谢您的帮助。
【问题讨论】:
-
一个tree rotation,也许?至少,它的一些修改形式。
标签: algorithm data-structures tree transformation