Muy buenas,
estoy trabajando en un pequeño algoritmo Branch&Bound y tengo un problema que no consigo arreglar, en breve les expongo:
Tengo una clase nodo con dos atributos ArrayList (containers y posters), y cuando quiero expandir ese nodo, los hijos de este nodo cogen los valores del último hijo creado, aqui el código:
//nodo es el padre
//nfills es un entero con el numero de hijos que tiene nodo
//this.pendents es un ArrayList con objetos CPoster, añadimos al hijo el que le corresponde
//this.nodosVivos es un ArrayList con los nodos vivos (sin ser expandidos todavia)
for (int i=0;i<nfills;i++){
CNode hijo = new CNode(nodo.containers, nodo.posters);
hijo.profundidad = nodo.profundidad +1
poster = this.pendents.get(hijo.profundidad);
hijo.Insertar(poster);
this.nodosVivos.add(hijo);
}
El constructor de CNodo correspondiente:
public CNodo(ArrayList<CContainer> containers, ArrayList<CPoster> posters){
this.containers = containers;
this.posters = posters;
}
Si nfills = 2, ambos hijos contienen el mismo poster... cómo consigo que sean independientes?
Muchas gracias!