私はソフトウェアのソートアルゴリズムと、O(nlogn)
障害を乗り越えるための可能な方法について考えていました。実用的な意味での高速ソートは不可能だと思いますので、そうは思わないでください。
そうは言っても、ほとんどすべてのソートアルゴリズムでは、ソフトウェアは各要素の位置を知っている必要があるようです。それ以外の場合、いくつかの並べ替え基準に従って各要素をどこに配置するかをどのように知ることができますか?
しかし、私がこの考えを現実の世界と交差させたとき、遠心分離機は、密度によって分子を「分類」するときに、各分子がどの位置にあるのかわかりません。実際、各分子の位置は関係ありません。しかし、各分子が密度と重力の法則に従っているという事実のために、比較的短期間で何兆ものアイテムを何兆もの分類することができます-それは私に考えさせられました。
各ノードにいくらかのオーバーヘッド(各ノードに追加された値またはメソッド)を使用して、リストの順序を「強制」することは可能でしょうか?遠心分離機のようなもので、各要素のみが(他のノードとの関係で)空間内の相対位置を気にします。または、これは計算のルールに違反していますか?
ここで取り上げられた大きなポイントの1つは、自然の量子力学的効果と、それらがすべての粒子に同時に並行して適用される方法だと思います。
おそらく、古典的なコンピューターは本質的にソートをのドメインに制限しますがO(nlogn)
、量子コンピューターはそのしきい値を超えてO(logn)
並列に動作するアルゴリズムにできる可能性があります。
基本的に並列バブルソートである遠心分離機は正しいように思われるという点は、時間計算量がO(n)
です。
次の考えは、自然が分類O(n)
できるのなら、なぜコンピューターができないのかということだと思います。