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

Recursion Meets Backtracking Patterns — அடிப்படை

TT
Testlaa Team
May 14, 20261 min read

சுயமுறை + மீள்சுழல் — மீளமை; அழைப்பு அடுக்கு திரும்பும் இடம்.

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

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

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

சுயமுறை = மறைமுக மரத்தில் DFS; மீள்சுழல் = விளிம்பு மீட்டமை.

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

def word_search(board: list[list[str]], word: str) -> bool:
    rows, cols = len(board), len(board[0])

    def dfs(r: int, c: int, i: int) -> bool:
        if i == len(word):
            return True
        if r < 0 or c < 0 or r >= rows or c >= cols or word[i] != board[r][c]:
            return False
        tmp, board[r][c] = board[r][c], '#'
        ok = (
            dfs(r + 1, c, i + 1)
            or dfs(r - 1, c, i + 1)
            or dfs(r, c + 1, i + 1)
            or dfs(r, c - 1, i + 1)
        )
        board[r][c] = tmp
        return ok

    return any(dfs(r, c, 0) for r in range(rows) for c in range(cols))


print(word_search([['A', 'B'], ['C', 'D']], 'ABDC'))

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

  • தோல்வி பாதை பக்க விளைவு.
  • பெரிய நகல்.

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

  • தூய சோதனை / மாற்ற ஆராய்ச்சி பிரி.
  • Sudoku பயிற்சி.

Tags:

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