peferron / algo

Algorithms and data structures implemented in Go, JS, TypeScript, Rust, and Swift.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[chinese_postman] Finish implementation

peferron opened this issue · comments

There's an unfinished implementation of the Chinese postman problem in the chinese_postman branch.

It's unfinished because solving this problem on undirected graphs is much more complicated than it looks. Specifically, one of the sub-problems it decomposes into is complicated: minimum weight perfect matching in a general undirected graph.

The right way to go would be to take care of this sub-problem first in a dedicated module—it definitely deserves it—and then go back to finish the chinese_postman module.

Note that the Chinese postman problem is much easier to solve on directed graphs: the sub-problem becomes matching in a bipartite graph, which is much simpler and has already been implemented in this repo.