Skip to main content

Module backtracking

Module backtracking 

Source
Expand description

Backtracking — “sinab ko’r, bo’lmasa orqaga qayt”.

Shablon:

fn qidir(holat):
    agar holat to'liq bo'lsa → javobga qo'sh, qaytish
    har bir mumkin bo'lgan qadam uchun:
        agar qadam qoidaga zid bo'lmasa:
            qadamni QO'YAMIZ
            qidir(yangi holat)      ← chuqurroq ketamiz
            qadamni OLIB TASHLAYMIZ ← backtrack!

Backtracking — bu kesilgan (pruned) to’liq izlash. Umid yo’q shoxni erta tashlab yuborish algoritmni amalda ishlaydigan qiladi.

Functions§

n_queens
N vazir masalasi: n × n shaxmat taxtasiga n ta vazirni bir-birini urmaydigan qilib joylashning barcha usullari.
permutations
Barcha o’rin almashtirishlar (permutations).
subset_sum
Berilgan summani beradigan barcha qism to’plamlar (subset sum).
subsets
Barcha qism to’plamlar (power set) — 2ⁿ ta.