这旨在成为我之前问题的更具体、更容易表达的形式。
从字典中获取具有常用字母长度的单词列表。
如何重新排序此列表以在相邻单词之间保持尽可能多的字母?
示例 1:
AGNI, CIVA, DEVA, DEWA, KAMA, RAMA, SIVA, VAYU
reorders to:
AGNI, CIVA, SIVA, DEVA, DEWA, KAMA, RAMA, VAYU
示例 2:
DEVI, KALI, SHRI, VACH
reorders to:
DEVI, SHRI, KALI, VACH
最简单的算法似乎是:选择任何东西,然后搜索最短距离?
但是,DEVI->KALI (1 common) 等价于 DEVI->SHRI (1 common)
选择第一个匹配项会导致整个列表中的常见对更少(4 对 5)。
这似乎应该比完整的 TSP 更简单?