Я пытаюсь улучшить свой текущий алгоритм для проблемы 8 Queens, и это первый раз, когда я действительно разбираюсь в разработке/алгоритме алгоритма. Я хочу осуществить поиск в глубине в сочетании с перестановкой различных значений Y, описанной здесь: http://en.wikipedia.org/wiki/Eight_queens_puzzle#The_eight_queens_puzzle_as_an_exercise_in_algorithm_designОсновы глубины первого поиска
Я реализованная перестановкой часть, чтобы решить эту проблему, но у меня немного проблемы оберточной мой ума вокруг поиска по глубине. Он описывается как способ перемещения дерева/графа, но генерирует ли он древовидный график? Кажется, единственный способ, что этот метод будет более эффективен, только если поиск по глубине будет генерировать древовидную структуру, которая будет пройдена, путем реализации некоторой логики только для генерации определенных частей дерева.
По существу, мне пришлось бы создать алгоритм, который сгенерировал обрезанное дерево лексиграфических перестановок. Я знаю, как реализовать логику обрезки, но я просто не уверен, как связать ее с генератором перестановок, так как я использовал next_permutation.
Есть ли какие-либо ресурсы, которые могли бы помочь мне с основами глубинных поисков или создания лексиграфических перестановок в виде дерева?