Tout au long de ce TP, nous devions implémenter les stratégies de parcours mixte et en profondeur d'un algorithme de résolution Branch & Bound à travers l'implémentation des classes EnsNoeudsActifsProf et EnsNoeudsActifsMixte et appliquer cet algorithme sur un exemple de problème du sac a dos. Vu la spécification d'une stratégie de parcours en pronfondeur donnée dans l'énoncé et l'ordre dans lequel les noeuds sont enlevés et ajoutés dans l'algorithme BranchAndBound, nous avons choisi d'implémenter EnsNoeudsActifProf comme une pile(LIFO). En effet dans ce cas lorsqu'un nœud est divisé, ses fils sont empilés et le prochain Noeud qui sera enlevé sera le dernier à avoir été empilé soit un des fils du Noeud divisé et ce n'est que lorsque tous les fils seront enlevés qu'on ira un cran au dessus dans l'arbre. Une pile est donc bien adaptée à cette stratégie de parcours. La spécification de la stratégie Mixte quant-à-elle nous a conduit à choisir de donner deux attributs à la classe EnsNoeudsActifsMixte: l'un nommé file qui est un ensemble de type TreeSet où sera ajouté et enlevé les noeuds tant qu'on n'a pas atteint un seuil fixé et un deuxième ensemble nommé pile implémentant une pile (LIFO) dans lequel sera ajouté ou enlevé les noeuds une fois qu'on a dépassé le seuil en nombre d'éléments. Dans l'ensemble de type TreeSet, lorsqu'un noeud est enlevé, il s'agit du meilleur comparé aux autres de l'ensemble(la fonction compareTo que doit dans ce cas implémenter l'instance de Noeud ,compare en fait les évaluations des Noeuds entre elles). Le type TreeSet a été choisi comme type du premier ensemble parce qu'il s'agit à notre connaissance de la seule collection oordonnée qui permet d'enlever le maximum (meilleur Noeud dans notre cas) d'un ensemble et non le minimum. Par contre le deuxieme ensemble implémente une pile(LIFO) parce qu'on a bien vu dans le cas d'une stratégie en profondeur que ce type est bien adapté à un parcours en profondeur. La taille de l'attribut