Je pensais à des algorithmes de tri dans le logiciel, et que les moyens on pourrait surmonter l' O(nlogn)
barrage. Je ne pense pas qu'il EST possible de trier plus vite dans un sens pratique, de sorte s'il vous plaît ne pense pas que je fais.
Avec cela dit, il semble que presque tous les algorithmes de tri, le logiciel doit connaître la position de chaque élément. Ce qui est logique, sinon, comment serait-il savoir où placer chaque élément en fonction de certains critères de tri?
Mais quand j'ai traversé cette réflexion avec le monde réel, une centrifugeuse n'a aucune idée de ce que la position de chaque molécule est quand il 'sortes' molécules par la densité. En fait, il ne s'occupe pas la position de chaque molécule. Cependant il est possible de trier milliards sur milliards de milliards d'éléments dans une période relativement courte de temps, en raison du fait que chaque molécule suit la densité et de la gravité de lois - qui m'a fait réfléchir.
Serait-il possible avec une surcharge sur chaque nœud (de la valeur ou de la méthode appliquée par chacun des nœuds) de "forcer" l'ordre de la liste? Quelque chose comme une centrifugeuse, où chaque élément se soucie de sa position relative dans l'espace (par rapport à d'autres nœuds). Ou, est-ce à violer une règle de calcul?
Je pense que l'un des gros points amené jusqu'ici est la mécanique quantique effets de la nature et de la façon dont ils s'appliquent en parallèle à toutes les particules simultanément.
Peut-être les ordinateurs classiques intrinsèquement restreindre le tri du domaine de l' O(nlogn)
,, où, comme les ordinateurs quantiques peuvent être en mesure de franchir ce seuil en O(logn)
algorithmes qui agissent en parallèle.
Au point qu'une centrifugeuse étant à la base un parallèle tri à bulles semble être correct, qui a une complexité temporelle de l' O(n)
.
Je suppose que la prochaine pensée est que si la nature peut trier en O(n)
, pourquoi pas les ordinateurs?