しばらく時間が空いたので、Java でよく使われる 7 つのソート アルゴリズムをまとめてみました。後でまた見返せるといいのですが。 1. 挿入ソートアルゴリズム 挿入ソートの基本的な考え方は、配列をトラバースする過程で、シリアル番号 i の前の要素、つまり [0..i-1] がソートされていると想定することです。このトリップでは、i に対応する要素 x の正しい位置 k を見つける必要があり、この位置 k を見つける過程で、比較する要素を 1 つずつ 1 つずつ後ろに移動して要素 x のための「スペースを確保」し、最後に k に対応する要素値を x に割り当てます。一般に、挿入ソートの時間計算量と空間計算量は、それぞれ O(n2) と O(1) です。
2. 選択ソートアルゴリズム 選択ソートの基本的な考え方は、配列をトラバースすることです。i はソートする必要がある現在のシーケンス番号を表します。残りの [i...n-1] で最小値を見つけ、見つかった最小値を i が指す値と交換する必要があります。要素を決定するたびに、最適な値を選択するサブプロセスがあるため、比喩的に選択ソートと呼ばれます。選択ソートの時間計算量と空間計算量はそれぞれO(n2)とO(1)です。
3. バブルソートアルゴリズム バブルソートは、大きい数字を下に、小さい数字を上に並べるソートです。
4. クイックソートアルゴリズム 並べ替えのプロセスを通じて、レコードの1つの部分のキーワードが2つの独立した部分に分かれています。ベースが小さい場合は、ベースが右側の位置(一時的な高い位置として記録)に移動します。ベースの左側は、上記の2つのステップを低く繰り返します。
5. マージソートアルゴリズム マージソートは再帰的に実装され、「分割統治」方式に属します。ターゲット配列は中央から 2 つに分割され、2 つの配列は別々にソートされます。ソートが完了すると、ソートされた 2 つの配列が「マージ」されます。マージソートで最も重要なことは、「マージ」プロセスです。マージプロセスには、マージする 2 つの配列と同じ長さの追加スペースが必要です。
6. シェルソートアルゴリズム シェル ソートが誕生したのは、挿入ソートでは大きな配列を処理するときに移動しなければならない要素が多すぎるという問題に遭遇したためです。ヒルソートの考え方は、大きな配列をギャップで分割されたいくつかの小さな配列に「分割して征服する」ことです。たとえば、配列[1、2、3、4、5、6、7、8]は、ギャップ= 2で分割すると、[1、3、5、7]と[2、4、6、8]の2つの配列に分割できます(同様に、ギャップ= 3の場合、分割された配列は[1、4、7]、[2、5、8]、[3、6]です)。次に、分割された配列に対してそれぞれ挿入ソートを実行します。各サブ配列がソートされた後、ギャップ値が減らされ、ギャップ= 1になるまで、つまり配列全体が挿入されてソートされるまで、前の手順が繰り返されます。この時点で、配列は基本的にソートされているため、移動する必要がある要素は非常に小さくなり、挿入ソートが大きな配列を処理するときに移動回数が多いという問題が解決されます。 シェルソートは挿入ソートの改良版です。データ量が多い場合の効率向上に非常に役立ちます。データ量が少ない場合は、挿入ソートを直接使用することをお勧めします。
7. ヒープソートアルゴリズム 要点は、まずビッグ トップ ヒープを作成し、親が子よりも大きく、ルート ノードが *** ノードであり、*** ノード (ルート) を末尾ノード (より小さい *** ノード) と交換して、*** 末尾ノードを *** に残し、残りは *** 要素から末尾ノードの前の位置まで、ビッグ トップ ヒープを再帰的に構築することです。
|
顔認識の応用範囲は、アクセス制御やデバイスログインから空港や公共エリアの監視まで、非常に広範囲にわた...
[[328993]] 【51CTO.com クイック翻訳】 AI 市場のトレンドはどのくらいの速さで...
翻訳者 | 朱 仙中校正 | 梁哲、孫淑娟AutoML の紹介 自動機械学習 (AutoML) は、...
[[395207]]必要順序付けられた配列 {1,8,10,89,1000,1234} に対してバ...
業界では、デート、マーケティング、ソーシャルメディアから宇宙探査、医療の進歩に至るまで、人工知能とそ...
放射線学誌に掲載された新しい研究によると、ディープラーニングと呼ばれる高度な人工知能は、一般的に使用...
エッジ AI では、システムを他のシステムに接続する必要がないため、ユーザーはデータをリアルタイムで...
[[264320]]人工知能の概念は最近非常に人気があります。BAT(百度、テンセント、アリババ)...
[[241540]] 2018年世界ロボットコンテストで、子どもたちがロボットのプログラミングと制御...
パンデミックによる職場の変化により、バックオフィス業務や生産活動を改善できるロボティック・プロセス・...
ACL は国民を怒らせた!今朝、この投稿のせいで AI コミュニティ全体が騒然となった——ニューヨー...
科学研究、金融、小売から工業、農業まで、ますます多くの業界やビジネス シナリオで、効率の向上とコスト...
[[356205]]私は最近、Kafak のソース コードをいくつか研究し、Kafak の改良された...