【发布时间】:2020-09-03 13:03:24
【问题描述】:
我有一个二叉搜索树,它的每个节点都有两个值。
int value;
String name;
所以它的节点是这样的。
class Node {
int value;
String name;
Node left, right;
}
我已根据节点的“名称”变量的升序在 BST 中插入值。因此,树的顺序遍历将按“名称”的升序返回节点。
现在我想根据“值”变量的升序显示树节点。不改变原来的树。哪种算法/方法对此最有效?
【问题讨论】:
-
您正在寻找的是一个常规的排序算法。树在这里没有提供任何帮助。
-
所以我应该创建一个数组而不是树?
-
实际上使用 BST 是我的任务的一部分。这就是为什么我不能使用任何其他数据结构。
-
然后您需要使用新的比较器重新创建树以获得值。您当前带有名称比较器的树对您没有任何价值。
-
这似乎是一个不错的方法。多谢兄弟。让我们看看其他人是否可以用更好的解决方案指导我。否则我会使用你的解决方案。
标签: java algorithm sorting data-structures binary-search-tree