поиск в ширину и глубину по небинарному дереву

 
 
 
Сообщения:1
Помогите разобраться:
есть небинарное дерево.
необходимо реализовать поиск в глубину и ширину.
делала в глубину через рекурсию: метод пропускает необходимый узел и идет дальше по узлам.
в ширину как ни билась - не могу с очередью совладать.
public class Node<T> {
    private List<Node> children = new ArrayList<Node>();
    private Node parent = null;
    private T data = null;

    public Node (T data){
        this.data = data;
    }

    public T getData() {
        return data;
    }

    public void setParent(Node parent) {
        this.parent = parent;
    }

    public Node getParent() {
        return parent;
    }

    public List<Node> getChildren() {
        return children;
    }
    public boolean isRoot (Node child){
       return (child.getParent() == null) ? true:false;
    }

    public void addChild  (T data){
        Node <T> newChild = new Node<>(data);
        newChild.setParent(this);
        children.add(newChild);
    }
    public void addChild (Node child){
       child.setParent(this);
        children.add(child);
    }
    public void addChildren (List <Node> children){
    for (Node t: children){
        t.setParent(this);
    }
    this.children.addAll(children);
    }
    public void removeChild (Node child){
        children.remove(child);
    }
    public void removeChild (T data){
        Iterator <Node> iterator = children.iterator();
        while (iterator.hasNext()) {
            Node nextChild = iterator.next();
            if (data.equals(nextChild.getData())){
                iterator.remove();
            }
        }
    }
    public Node findRecChild (Node child){

        Iterator <Node> iterator = children.iterator();
        while (iterator.hasNext()){
            Node nextChild = iterator.next();
            if (nextChild.equals(child)){
                return nextChild;}
                nextChild.findRecChild(child);
            }
        return null;
        }

}
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет