玩 Magna-Tiles 时发现的聚类算法
A simple clustering algorithm for lists

我在陪孩子玩 Magna-Tiles 时,偶然发现了一种通过反转子列表来对列表进行聚类的方法。这个算法虽然效率不高,时间复杂度为 O(n^2),但过程非常有趣。它采用贪心策略,每次找到列表末尾的特定值,然后反转其与前一个相同值之间的子列表,逐步将相同元素聚集在一起。我亲手用 JavaScript 实现了这个算法,没有借助 AI,整个过程既像脑力体操又像亲子游戏。这让我意识到,人类在处理这类物理操作时往往比计算机更直观高效。
作为一个拥有实体对象的人类,解决这个问题要容易得多,而计算机却很难理解如何抓取一组物体并翻转它们。