بیک ٹریکنگ امیدواری حل کو بتدریج تعمیر کرتی ہے اور ایک جزوی امیدوار کو ترک کر دیتی ہے (اس سے واپسی کرتی ہے) جیسے ہی یہ کسی درست حل تک نہیں پہنچ سکتا۔ یہ DFS کے ذریعے حل کی جگہ کو منطقی طریقے سے دریافت کرتی ہے، مردہ سروں کو ختم کرتے ہوئے۔
خیال
منتخب کریں -> دریافت کریں -> غیر منتخب کریں۔ کوئی آپشن آزمائیں، تکرار کریں؛ اگر یہ ناکام ہو، تو اسے واپس کریں اور اگلا آزمائیں۔
مثال: تمام ترتیبات
():
result = []
():
remaining:
result.append(path[:])
i ((remaining)):
path.append(remaining[i])
backtrack(path, remaining[:i] + remaining[i+:])
path.pop()
backtrack([], nums)
result
permutations([, , ])
