2016-05-15 97 views
-4

有谁知道如何制作一个算法,将二叉搜索树转换为AVL树,并且是转换它而不是制作另一棵树(所以它只能使用旋转来完成),而不是使用DSW技术......和C中。这里棘手的部分是有很多情况,因为二叉搜索树可能以各种方式失衡并且存在四种类型的旋转。二进制搜索树?算法

+2

做完作业后,我应该熨烫你的衬衫高手吗? –

+0

那么,因为你使用C,你可以重置树,只留下它的根,并重新使用它作为结果,而不是创建一个新的指向新树的指针。一个可能的解决方案是临时存储树的所有值(使用任何您想要的方式),清除树,然后使用您希望的任何自动平衡技术添加项目。这实际上就像DSW。 :) –

+0

@androiddeveloper true –

回答

1

我相信DSW技术可以做到一切就绪(无内存分配),如果这正是你想要的。 否则,你能不断地从AVL运行修正算法,直到树没有更多的变化?这是一种可应用于此的很多算法中使用的技术。