Я хочу реализовать метод оптимизации процесса, я сократил этот процесс просто (умножение и деление), как показано на дереве.
Прямоугольники Bottom и Bold (онлайн-инструмент не позволяет мне менять цвет) представляют общее умножение между N Числителями и D Знаменателями каждого списка.
СейчасЯ создавал список списков в Java, чтобы рассчитать общую стоимость каждого списка (процесса).
Моим первым шагом было создание класса ...
public class Pair {
private int num;
private int den;
public Pair(int num, int den) {
this.num = num;
this.den = den;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getDen() {
return den;
}
public void setDen(int den) {
this.den = den;
}
@Override
public String toString() {
return "Pair{" + "num=" + num + ", den=" + den + '}';
}
}
.второй шаг был ...
открытый класс TestPair {
public static void main(String... args) {
ArrayList<ArrayList<Pair>> listOfListPair = new ArrayList<>();
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(3, 1), new Pair(1, 2)}));
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(3, 1), new Pair(3, 1)}));
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(3, 1), new Pair(2, 1)}));
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(11, 2), new Pair(1, 2)}));
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(11, 2), new Pair(13, 3)}));
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(1, 7), new Pair(1, 2)}));
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(1, 7), new Pair(2, 1), new Pair(2, 1)}));
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(1, 7), new Pair(2, 1), new Pair(3, 1)}));
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(1, 7), new Pair(2, 1), new Pair(5, 1)}));
listOfListPair.add((ArrayList<Pair>) Arrays.asList(
new Pair[]{new Pair(1, 1), new Pair(1, 7), new Pair(2, 1), new Pair(2, 7)}));
javax.swing.JTree myTree = new javax.swing.JTree();
listOfListPair.stream().forEachOrdered(listPair -> {
//HOW POPULATE THE myTree?
});
}
}
Какая-нибудь подсказка для рекурсивного заполнения моего дерева? ,