Add adjacency representation generator for closed Hamiltonian tours - #13645
Naman-Vasudev wants to merge 5 commits into
Conversation
for more information, see https://pre-commit.ci
priya-sundaram-dev
left a comment
There was a problem hiding this comment.
Thanks @Naman-Vasudev — clear docstring, type hints and doctests, and the closed-tour wrap-around logic reads well.
One robustness suggestion: next_city_map.get(city, "-") silently yields "-" when a node in nodes never appears in path. Since a valid tour should visit every node, I'd validate set(path) == set(nodes) up front and raise a ValueError on mismatch, so malformed input fails loudly instead of producing a "-" placeholder.
This pairs with your #13647 (ordinal representation) — both are TSP tour encodings used in GA crossover. It might read more cohesively if the two docstrings cross-reference each other (or live together), so a reader sees them as a family of representations.
|
Clearing all open pull requests to prepare for Hacktoberfest 2026 -- https://hacktoberfest.com |
This pull request adds a new algorithm that converts a path (permutation form) of a closed Hamiltonian tour into an adjacency representation vector.
Each position in the resulting vector corresponds to a city (in fixed alphabetical order), and the value at that position denotes the next city in the tour.