結果のソートアルゴリズムの唯一の要件は、オペランドが全順序関係を満たすことです。
この質問には情報理論を使って答えることができます。 1 から 5 までの数字を 1 つ選び、それを推測してもらいます。各ラウンドで質問すると、私の答えは「はい」または「いいえ」(1 または 0) です。数字を推測できると保証するには、何ラウンド必要ですか? このゲームをもっと楽しくプレイするには、まず自分のラッキーナンバー(たとえば私の場合は 7)から推測し、1 つずつ「それは X ですか?」と聞いてみてください。運が良ければ 1 ラウンドで正解できるかもしれませんが、最悪の場合 5 ラウンドかかることもあります。そのため、答えは「少なくとも 5 ラウンド」にする必要があります(実際には、少なくとも 1 ラウンドで正解できる「かもしれませんが」、正解を「確実に」当てるためには、妥協して 5 と答える必要があります)。つまり、この推測方法の最適な下限は 5 です。 (平均パフォーマンスは1×1/5+2×1/5+…+5×1/5=(1+…+5)/5 = 3) しかし、バイナリのやり方を知っているので、「3より大きいですか?」と尋ねるでしょう...そして、どの数字を選んでも、3ラウンドしかかかりません。バイナリ検索は明らかに優れた戦略ですが、何が優れているのでしょうか? 情報理論を使用して理解する:最大エントロピー。 英語版Wikipediaのエントリには、大まかな説明があります: Comparison_sort、最小回数はlog(5!) = 6.91で、これは7に丸められます。 決定木は次のようになります。 マージソートを使用する場合、比較の回数は O(nlogn) になります。これは、マージソートがグローバルな最適解であるためですが、ローカルではマージが常に最適であるとは保証されないためです。 クイックソートの GIF を添付します:
元のリンク: http://justjavac.com/other/2013/04/10/why-any-sort-algorithm-based-on-the-comparison-of-the-five-elements-are-needed-7-times.html |
<<: コンピューティング技術を変えた偉大なアルゴリズムを数えてみましょう
WeChatミニプログラムにゲーム「Jump Jump」が登場して以来、多くのWeChatユーザーが...
自動テストは、ソフトウェア ツールまたはハードウェア デバイスを使用して、テスト ケースの手動実行を...
[[203712]]ニューラルネットワークを自分で構築するのは複雑すぎますか? [[203713]...
人類は物質とエネルギーの新しい時代を迎えようとしているのでしょうか?未来のテクノロジーへの扉が開かれ...
Java ME ゲーム開発では、衝突検出アルゴリズムを実装する必要があることがよくあります。たとえば...
1. 因果修正の背景1. 逸脱の発生推奨システムは、収集されたデータに基づいて推奨モデルをトレーニン...
2024年には、AI技術を取り巻くより困難な問題のいくつかを解決するための進歩が見られることを期待...
人工知能は、特にセキュリティ分野において業界に大きな影響を与え始めています。成熟したセキュリティ サ...
2023年、ChatGPTは人工知能に対する世界的な注目を集めました。科学界、知識人界、産業界は、A...
[[201426]]歴史的に、Apple は最先端技術の研究にはあまり注意を払わず、むしろ製品の設計...
人工知能(AI)技術はどこまで発展したのでしょうか? [[278665]]将来、AIが社会に本格的に...
スマート製造:デジタル世界と物理世界の統合自動車業界と製造業界の状況の変化により、サプライ チェーン...