我正在实现对二叉树进行多次插入的功能。对我首先得到的元素向量进行排序,然后在循环中为单个元素调用普通树插入函数是正确的?还是有更有效的策略?谢谢!
@Override
public void insert(Vector<V> vec) {
insert(root,vec);
}
private void insert(Node<V> node, Vector<V> vec){
Collections.sort(vec);
for(int i = 0; i < vec.size(); i++){
insert(root, vec.get(i));
}
}
@Override
public void insert(V obj) {
root = insert(root, obj);
}
private Node<V> insert(Node<V> node,V data){
if(node == null){
return node = new Node<V>(data,null,null);
}
else{
if(data.compareTo(node.data) < 0){
node.left = insert(node.left,data);
}
else{
node.right = insert(node.right,data);
}
return node;
}
}