選択ソートの基本的な操作は、ソートするデータ要素から毎回最小(または最大)の要素を選択し、ソートするすべてのデータ要素がソートされるまで、ソートされたシーケンスの最後に順番に配置することです。このアルゴリズムは不安定で、追加スペースが O(1)、比較に O(n^2) の時間計算量、スワップに O(n) の時間計算量があり、適応性がありません。ほとんどの場合は推奨されません。これは、スワップの数を減らしたい場合にのみ使用してください。 基本的な考え方 n 個のレコードを持つファイルの直接選択ソートは、n-1 個の直接選択ソートによってソートされ、順序付けられた結果を得ることができます。 ①初期状態:順序付けされていない領域はR[1..n]であり、順序付けされた領域は空である。 ②1次選別 順序付けられていない領域R[1..n]内で最小のキーワードを持つレコードR[k]を選択し、それを順序付けられていない領域の最初のレコードR[1]と交換します。これにより、R[1..1]とR[2..n]は、それぞれレコードが1つ多い新しい順序付けられた領域と、レコードが1つ少ない新しい順序付けられていない領域になります。 … ③ i番目のソート i番目のソートが開始されると、現在の順序付けされた領域と順序付けされていない領域はそれぞれR[1..i-1]とR(1≤i≤n-1)になります。このソートパスは、現在の順序付けられていない領域から最小のキーワードを持つレコード R[k] を選択し、それを順序付けられていない領域の最初のレコード R と交換します。これにより、R[1..i] と R は、それぞれレコードが 1 つ多い新しい順序付けられた領域と、レコードが 1 つ少ない新しい順序付けられていない領域になります。 この方法では、n 個のレコードを持つファイルの直接選択ソートを n-1 回の直接選択ソートでソートして、順序付けられた結果を得ることができます。 コードの実装
選択ソート法はバブルソート法と同じです。最も外側のループは依然として n-1 回実行する必要があり、効率は依然として悪いです。 【編集者のおすすめ】
|
<<: Java ソートアルゴリズムの概要 (パート 3): バブル ソート
機械学習エンジニアは、製品の開発やアルゴリズムの構築を行うチームの重要なメンバーです。データの専門家...
【51CTO.comオリジナル記事】スーパーマーケットに入ったところを想像してみてください。計量のた...
アリババAIは、常識QA分野の権威あるデータセットであるCommonsenseQAで新たな世界記録を...
最近、有名なデータサイエンスのウェブサイト KDnuggets が、2018 年のデータサイエンスお...
メルセデス・ベンツは長年、機械学習と従来の人工知能に依存してきました。しかし、現在では、たとえば M...
[[402984]]研究によると、人工知能と 5G テクノロジーを組み合わせることで、通信会社は I...
Googleは10月13日、現地時間公開のブログ投稿で、自社の生成AI製品のユーザーは当局によって保...
[[223787]]英国メディアは、現在の人工知能ブームの最も注目すべき特徴の一つは、中国が突如とし...
LLMの大幅な増加に加え、AI開発ツールも拡大しています。今年の AI 開発における 5 つの主要な...
ハイパースケーラーはすでに業務改善のために AI を活用していますが、他のほとんどのデータセンターで...
都市交通の分野では、AI信号制御、インテリジェントな街路交通監視、スマートバス停、スマート高速道路な...
現在、国内RPA市場の競争は激化しており、多くのメーカーが独自のRPA製品やブランドを立ち上げていま...