Python
Python copied to clipboard
Update n_queens_math.py
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".