அல்கோரிதம்backtracking basics

Backtracking Basics — அடிப்படை

TT
Testlaa Team
May 14, 20261 min read

அடிப்படை — பகுதி தீர்வு, தேர்வு பட்டியல், ஆழம், இலை = முழு/அதிகபட்ச பகுதி.

உண்மை உலகில் இது ஏன் முக்கியம்?

புதிர்; கட்டுப்பாட்டு தீர்வி; நேர்காணல் — நிலை, சுயமுறை, மீளமைப்பு.

மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)

ஒவ்வொரு நிலையிலும்: தந்தை→குழந்தை மாற்றம் என்ன?

Pythonில் முயற்சி செய்வோம்

def combo_sum(candidates: list[int], target: int) -> list[list[int]]:
    res: list[list[int]] = []

    def dfs(start: int, remain: int, path: list[int]) -> None:
        if remain == 0:
            res.append(path.copy())
            return
        if remain < 0:
            return
        for i in range(start, len(candidates)):
            path.append(candidates[i])
            dfs(i, remain - candidates[i], path)
            path.pop()

    dfs(0, target, [])
    return res


print(combo_sum([2, 3], 5))

பொதுவான தவறுகள்

  • return எதிர் global குழப்பம்.
  • குறியீடு எல்லை.

முக்கிய பாடங்கள்

  • கைவழி தடம்.
  • assert சமநிலை.

Tags:

Recursion & backtrackingPythonமாணவர்கள்