我在考虑软件中的排序算法,以及克服 O(nlogn)
路障的可能方法。我不认为在实际意义上可以更快地排序,所以请不要认为我这样做。
也就是说,在几乎所有的排序算法中,软件必须知道每个元素的位置。这是有意义的,否则,它如何知道根据某些排序条件将每个元素放置在哪里?
但是,当我把这种想法与现实世界进行交叉比较时,离心机根本不知道每个分子按照密度对分子进行“分类”时所处的位置。事实上,它并不关心每个分子的位置。然而,由于每个分子都遵循密度和引力定律这一事实,它可以在相对较短的时间内对数以万亿计的物质进行分类——这让我思考起来。
是否有可能在每个节点上增加一些开销(在每个节点上添加一些值或方法)来“强制”列表的顺序?有点像离心机,只有每个元素关心它在空间中的相对位置(相对于其他节点)。或者,这是否违反了计算中的某些规则?
我认为这里提到的重点之一是自然界的量子力学效应以及它们如何同时应用于所有粒子。
也许经典的计算机本质上将排序限制在 O(nlogn)
的领域,而量子计算机可以跨越这个阈值进入并行运行的 O(logn)
算法。
离心机基本上是 平行气泡排序平行气泡排序的观点似乎是正确的,它的时间复杂度为 O(n)
。
我想下一个想法是,如果自然界能够在 O(n)
中排序,为什么计算机不能呢?