選択ソートの基本的な操作は、ソートするデータ要素から毎回最小(または最大)の要素を選択し、ソートするすべてのデータ要素がソートされるまで、ソートされたシーケンスの最後に順番に配置することです。このアルゴリズムは不安定で、追加スペースが 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+プラットフォームは、オリジナルの技術コンテンツの選択と絶妙なレイアウトを通じて、...
2021年2月18日午前、百度は2020年第4四半期および通期の財務報告を発表し、印象的なデータを示...
[[437285]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...
生成 AI の流行は、昨年の ChatGPT の登場から始まりました。わずか 1 年で、このテクノロ...
人工知能(AI)は今日最もホットな話題の一つです。最近の進歩は文字通りそれ自体を物語っています。GP...
ビッグデータダイジェスト制作出典: lambdalabs編纂者:張秋月ディープラーニング モデルが強...
[[334141]]誰でも編集できるオンライン百科事典である Wikipedia では、各エントリを...
[[273444]]ビッグデータダイジェスト制作編集者: Vicky、Cao Peixin機械学習の...
光学文字認識 (OCR) は、機械が画像やスキャンされた文書からテキストを認識して抽出できるようにす...
2月7日、アメリカの外交政策ウェブサイトは「米中人工知能競争は東南アジアにとって何を意味するのか?...
2017年5月に世界保健機関が発表したデータによると、世界中で毎年約125万人が交通事故で亡くなって...
編集者注: この記事は、WeChat パブリック アカウント「Big Data Digest」(ID...