அல்கோரிதம்back tracking

Backtracking — அடிப்படை

TT
Testlaa Team
May 14, 20261 min read

DFS மீள்சுழல் — தேர்வு, சுயமுறை, மீளமை; உடன்பிறப்புகள் முயற்சி.

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

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

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

பகுதி தீர்வு: மாறும் பட்டியல்/பலகை. வெளியேறும்போது pop/மீட்டமை.

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

def permute(nums: list[int]) -> list[list[int]]:
    out: list[list[int]] = []

    def dfs(path: list[int], used: set[int]) -> None:
        if len(path) == len(nums):
            out.append(path.copy())
            return
        for i, x in enumerate(nums):
            if i in used:
                continue
            used.add(i)
            path.append(x)
            dfs(path, used)
            path.pop()
            used.remove(i)

    dfs([], set())
    return out


print(permute([1, 2]))

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

  • மீளமை மறைப்பு.
  • முழு நகல் செலவு.

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

  • சிறு முடிவு மரம் வரை.
  • நகல் இல்லாமல் மாற்றம்+மீளமை.

Tags:

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