Python
Python copied to clipboard
Refactor Dijkstra pseudo-code and function for readability and type s…
Refactor Dijkstra pseudo-code and function for readability and type safety
Description:
This pull request refactors the Dijkstra algorithm pseudo-code and function to improve readability and ensure type safety. Key changes include:
- Updated the pseudo-code to enhance clarity, reflecting recent optimizations and improvements in variable naming.
- Added type hints to the dijkstra function and its variables, improving overall readability and code quality.
- Introduced a costs dictionary to track the minimum costs for reaching each node, which helps avoid redundant heap pushes.
- Adjusted line lengths to comply with PEP 8 style guidelines.
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.
- [ ] 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".