我正在解决一个我想通过图表旅行的问题。但是,当我分析我的代码时,我可以看到图形的构建是最重要的部分。每个节点都应该有一个固定长度 M 的值。该图应该包含所有以 2 为底的组合。例如,对于 M = 3,我们有:“000”“001”“010”“011”“100”“101” “110”“111”,即2^M = 8个组合。
然后我想以一种非常具体的方式将节点链接在一起。每个节点都有两个出边,值为“0”和“1”。例如,“000”将连接到带有边 1 的“001”,因为如果我删除右边的第一个数字并在末尾添加边值,我最终会得到“001”。类似地,“111”通过边缘“0”连接到“110”。
需要帮助。请注意,节点不一定必须用 String 表示,但这是我实现的方式,但它似乎运行得太慢。这里重要的是节点连接正确。
我通过将节点存储在 HashTable 中,然后遍历整个集合以将节点相互连接来解决了这个问题。
建议赞赏如何使它更聪明。