[Algorithm] Backtracking


遡及アルゴリズム
迷路パズルを解くときに道に出会ったら、誰もがその道から元の道に戻って、道があるかどうかを見て、このような問題は誰でも一度やったことがあります.
遡及アルゴリズムは,経過した道路標識を記録し,不正確な道を検出し,問題を解決するとともに誤った道を返すことを避ける.
遡及は、任意のセットで所定の基準で要素の順序を選択する問題を解決するために使用されます.代表的な問題事例はn−queen 質問するである.
遡及は、ツリーの変形深さを優先して検索します.深度優先検索は、通常のグラフィックに対する検索として定義することもできますが、ここでは遡及はツリー検索に限られるため、ツリーの検索のみを説明します.プリアンブルツリー検索は、ツリーの深さ優先検索です.ルートノードにアクセスし、ルートノードのすべての子孫にアクセスします.深度優先ブラウズは、ブラウズする必要がなくなったノードにアクセスします.鬼才を生かす.
深さ優先ナビゲーションpseudo code
void dfs(node v){
	node u;
    visit v;
    for (each child u of v)
    	dfs(u);
}
問題を解決するために,このアルゴリズムはサブセクションへのアクセスの順序に言及しなかった.ただし、前述したように、左から右へアクセスします.
n=4の場合、n-女王馬の問題を遡及技術で説明し、
同じ行に2つの言葉が存在するはずがない.