Python
Python copied to clipboard
recursive bisection working on discrete domains (lists)
Dear TheAlgorithms-maintainers, This file implements a bisection that differs in 2 main points from the bisections so far uploaded:
- It is recursively implemented (more precisely in a divide&conquer way selecting sub-lists until the desired element is in a one-element list, at which point the problem becomes trivial), while the two pre-existing bisections (one here: https://github.com/TheAlgorithms/Python/blob/master/arithmetic_analysis/bisection.py the other here https://github.com/TheAlgorithms/Python/blob/master/maths/bisection.py) are iterative.
- It searches lists for specific elements instead of functions for roots in a specific interval.
I tried to observe contribution guidelines and hope you don't condemn me too much where I didn't meet them :)
All the best, J
Describe your change:
- [x] Add an algorithm?
- [ ] Fix a bug or typo in an existing algorithm?
- [ ] Documentation change?
Checklist:
- [x] I have read CONTRIBUTING.md.
- [x] This pull request is all my own work -- I have not plagiarized.
- [x] I know that pull requests will not be merged if they fail the automated tests.
- [x] This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
- [x] All new Python files are placed inside an existing directory.
- [x] All filenames are in all lowercase characters with no spaces or dashes.
- [x] All functions and variable names follow Python naming conventions.
- [x] All function parameters and return values are annotated with Python type hints.
- [x] All functions have doctests that pass the automated testing.
- [x] All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
- [x] If this pull request resolves one or more open issues then the commit message contains
Fixes: #{$ISSUE_NO}.
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
In preparation for that denial-of-service attack that is Hacktoberfest, I am closing all pull requests that have failing tests.