Я пытаюсь решить такой рюкзак как проблема от MIT OCW. Задача проблемы 5.Как реализовать дерево состояний пространства?
Мне нужно использовать ветвь и связанный алгоритм, чтобы найти оптимальные состояния. Поэтому мне нужно реализовать дерево состояний. Я понимаю идею этого алгоритма, но я считаю, что это не так просто реализовать.
Если я нахожу узел, где бюджета недостаточно, я должен остановиться здесь. Должен ли я добавлять атрибут к каждому узлу дерева?
Когда я добавляю узел, я должен начать с узла с наибольшей верхней границей. Как найти такой узел? Нужно ли мне перемещаться по всем узлам, прежде чем добавлять каждый узел? Или я мог бы сэкономить несколько вар, чтобы помочь с этим?
У вас есть идея? Не могли бы вы реализовать его в python?
Благодарим вас за ответ! Во-первых, я добавлю атрибут «stop». Он не использует много места. Во-вторых, прежде чем я нахожу узлы без потомков, мне нужно пересечь дерево, начиная с корня, не так ли? –