8 クイーン問題の現在のアルゴリズムを改善しようとしていますが、アルゴリズムの設計/アルゴリズムを実際に扱うのはこれが初めてです。ここで説明されているさまざまな Y 値の順列と組み合わせた深さ優先検索を実装したい: http://en.wikipedia.org/wiki/Eight_queens_puzzle#The_eight_queens_puzzle_as_an_exercise_in_algorithm_design
問題を解決するために順列部分を実装しましたが、深さ優先検索に頭を悩ませています。ツリー/グラフをトラバースする方法として説明されていますが、ツリー グラフを生成しますか? ツリーの特定の部分のみを生成するロジックを実装することにより、深さ優先検索がトラバースされるツリー構造を生成する場合にのみ、この方法がより効率的になる唯一の方法のようです。
したがって、基本的には、辞書順列の枝刈りされたツリーを生成するアルゴリズムを作成する必要があります。プルーニング ロジックを実装する方法は知っていますが、next_permutation を使用しているため、それを順列ジェネレーターと結び付ける方法がわかりません。
深さ優先検索の基本や、ツリー形式での辞書順列の作成に役立つリソースはありますか?