我正試圖改進當前的8皇后問題算法,這是我第一次真正處理算法設計/算法。我想實現一個深度優先搜索與此處描述的不同Y值的排列組合: http://en.wikipedia.org/wiki/Eight_queens_puzzle#The_eight_queens_puzzle_as_an_exercise_in_algorithm_design深度優先搜索基礎知識
我已經實現了置換部分來解決這個問題,但我有一個小麻煩纏繞我的心圍繞深度優先搜索。它被描述爲遍歷樹/圖的一種方式,但它會生成樹圖嗎?似乎只有通過深度優先搜索生成要遍歷的樹結構,通過實現一些邏輯來僅生成樹的某些部分,該方法纔會更有效。
所以基本上,我將不得不創建一個算法,生成一個修剪的詞法排列樹。我知道如何實現修剪邏輯,但我只是不確定如何將它與排列生成器配合使用,因爲我一直在使用next_permutation。
是否有可以幫助我的深度優先搜索或創建在樹的形式lexigraphic排列的基本知識的任何資源?