Python icon indicating copy to clipboard operation
Python copied to clipboard

Update n_queens_math.py

Open Shanvithegreat0 opened this issue 1 year ago • 0 comments

The first change reduces the memory overhead associated with creating new lists at each recursive step by modifying the same list and backtracking after each recursive call. This can make a significant difference in memory usage for large boards. The second change uses List from typing for better type hinting. Also, it clarifies the function's purpose with a more descriptive docstring

Describe your change:

  • [ ] Optimized the depth-first search (DFS) approach for solving the N-Queens problem by modifying the list update strategy to use in-place modifications and backtracking, which improves memory usage.
  • [ ] This reduces memory overhead by avoiding the creation of new lists during recursive calls.
  • [ ] Enhanced performance and reduced memory consumption in the N-Queens algorithm, especially for larger board sizes.

Checklist:

  • [ ] I have read CONTRIBUTING.md.
  • [ ] This pull request is all my own work -- I have not plagiarized.
  • [ ] I know that pull requests will not be merged if they fail the automated tests.
  • [ ] This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • [ ] All new Python files are placed inside an existing directory.
  • [ ] All filenames are in all lowercase characters with no spaces or dashes.
  • [ ] All functions and variable names follow Python naming conventions.
  • [ ] All function parameters and return values are annotated with Python type hints.
  • [ ] All functions have doctests that pass the automated testing.
  • [ ] All new algorithms include at least one URL that points to Wikipedia or another similar explanation.
  • [ ] If this pull request resolves one or more open issues then the description above includes the issue number(s) with a closing keyword: "Fixes #ISSUE-NUMBER".

Shanvithegreat0 avatar Oct 05 '24 04:10 Shanvithegreat0