我正在尝试打印二叉搜索树的可视化表示,但我只能访问这些指定的方法。我只需要一些伪代码。我似乎没有想到一种不访问根节点的方法,我不能这样做。 BST在java中。它需要相应地增长和缩小。
我认为我的第一步是按级别排序键(级别0为root,级别1为root的子级,依此类推)
以下是方法:
size()
height()
isEmpty()
contains(Key key)
get(Key key)
put(Key key, Value val)
min()
max()
floor(Key key)
select(int k)
rank(Key key) <--returns an int value
keys() <--returns iterable<key> from lowest key to highest(Queue filled with integer values)
levelOrderTraversal() <--returns iterable<key>(Queue filled with integer values)
inOrderTraversal() <--returns iterable<key>(Queue filled with integer values)
preOrderTraversal() <--returns iterable<key>(Queue filled with integer values)
postOrderTraversal() <--returns iterable<key>(Queue filled with integer values)
键是不超过100的整数值,换句话说,2位数值(ex 8表示为08)
预期输出样本:
5
/ \
/ \
3 9
/ \ / \
1 4 8 10