結果のソートアルゴリズムの唯一の要件は、オペランドが全順序関係を満たすことです。
この質問には情報理論を使って答えることができます。 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 |
<<: コンピューティング技術を変えた偉大なアルゴリズムを数えてみましょう
人工知能は非常に人気が高まっているため、ニュースで報道される超知能に関する予測が実現可能なものなのか...
[[428819]]ダブルポインタのアルゴリズム原理は、2 つのポインタを介して 1 つの for ...
Google のアルゴリズムは毎年何百回も更新されます (Google は通常、これらの更新について...
[[356180]]序文今日は引き続き js アルゴリズムについてお話ししましょう。以下の説明を通じ...
ちょうど今、タイム誌が2023年にAI分野で最も影響力のある100人のリストを発表しました。このリス...
1. はじめにGitHub Copilot と Amazon CodeWhisperer は、コーデ...
電子コンピュータは 1940 年代に発明され、登場から 10 年以内に人類史上初の AI アプリケー...
1. 適用シナリオ高精度のサンプリング結果の場合、最大値には 3 バイト、最小値には 1 バイトが必...
最近、ノルウェーのロボット企業オートストアは、新規株式公開(IPO)の価格が1株当たり31ノルウェー...
ビデオ会議 264 ビデオ圧縮 - SVC H.264 には、階層化されたエンコードを可能にする S...
人工知能は、産業用ロボットやロボットプロセス自動化 (RPA) における新たなアプリケーションを推進...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...