【发布时间】:2015-12-10 06:55:44
【问题描述】:
这个 C++ 赋值要求我们创建一个二叉树并检查它是否是二叉搜索树。如果不是,那么我们需要一种算法来修复它,而无需使用额外的空间或其他数据结构。我和我的朋友都被困在找出一个合适的算法上,因为大量的在线搜索几乎没有找到任何结果。我们不太关心运行时,我们主要专注于找出如何根据给定的要求修复 BT。
链表用于创建树,但我们不知道如何实现某种算法将其转换为 BST。
任何提示将不胜感激!
【问题讨论】:
-
平衡二叉搜索树,还是只是一个 BST?如果它只是一个二叉树,只需创建一个完全左偏的树,然后使用任意算法对元素进行排序。但我猜你正在寻找一棵平衡的树。
-
不,它不必平衡,但你所说的任意算法到底是什么意思?
标签: c++ data-structures binary-search-tree