二分木に複数挿入する機能を実装しています。最初に取得した要素のベクトルを並べ替えてから、単一の要素に対してループの通常のツリー挿入関数を呼び出すのは正しいでしょうか?または、より効率的な戦略がありますか?ありがとう!
@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;
}
}