我正试图改进当前的8皇后问题算法,这是我第一次真正处理算法设计/算法。我想实现一个深度优先搜索与此处描述的不同Y值的排列组合: http://en.wikipedia.org/wiki/Eight_queens_puzzle#The_eight_queens_puzzle_as_an_exercise_in_algorithm_design深度优先搜索基础知识
我已经实现了置换部分来解决这个问题,但我有一个小麻烦缠绕我的心围绕深度优先搜索。它被描述为遍历树/图的一种方式,但它会生成树图吗?似乎只有通过深度优先搜索生成要遍历的树结构,通过实现一些逻辑来仅生成树的某些部分,该方法才会更有效。
所以基本上,我将不得不创建一个算法,生成一个修剪的词法排列树。我知道如何实现修剪逻辑,但我只是不确定如何将它与排列生成器配合使用,因为我一直在使用next_permutation。
是否有可以帮助我的深度优先搜索或创建在树的形式lexigraphic排列的基本知识的任何资源?